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