Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Stránky: 1
Je dán počet vstupních hodnot N a dále posloupnost N čísel a1, a2, …, aN. Všechna zadaná čísla jsou celá a jsou z rozsahu datového typu integer, počet čísel N není větší než 10000. Čísla ve vstupní posloupnosti nejsou nijak uspořádána, jednotlivé hodnoty se mohou opakovat. Určete, kolik různých kladných hodnot se nachází v zadané posloupnosti. Například pro vstup ve tvaru
13
4 7 5 5 7 7 -8 0 0 20 25 7 30
bude výsledkem číslo 6.
Mám následující a nedokážu část, která vypíše "pouzé kladnou hodnotu"...
program serie_klad; uses crt; var Vstup : array[0..10000] of integer; a,b,c,new,max: integer; begin clrscr; writeln ('Pocet cisel?'); readln (max); a:=0; c:=max; writeln('Zadejte radu cisel'); while a<>max do begin b:=0; readln(vstup[a]); new:=1; while b<>a do begin if (vstup[a])=(vstup[b]) then new:=0; b:=b+1; end; if new=0 then c:=c-1; a:=a+1 end; a:=0; writeln ('Pocet ruznych hodnot: ',c); readln; end.
Offline
před ten výpis (na konci) zkus dát toto: (musíš si nadeklarovat i)
writeln('cisla: '); for i:=0 to max-1 do begin if Vstup[i] > 0 then begin write(' ',Vstup[i]); end else c:=c-1; end; writeln;
To, že se ti čísla ve výstupu opakují nevadí?
Jestli jo tak jsem to zkusila přepsat (seřadí se to pomocí bubble sortu a potom se vypíšou jen neopakující (kladné) se hodnoty). Můžu ti to sem dát, ale nezaručuji správnost.
Offline
↑ paces: to je nepěkný čin - mazat obsah úvodního příspěvku, na který již bylo od kolegů reagováno (a ještě jsem vyrušována ze žehlení tvorbou náhledu do dějin).
Už to laskavě nedělej. Je to původní znění příspěvku? Děkuji.
↑ Stýv:, ↑ Klára: děkuji.
Zdravím.
Offline
Stránky: 1