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
Dobrý den potřeboval bych od někoho poradit. Jak vypsat lichá čísla když mám zadat pomocí příkazu array 10 čísel a mám vyhledat všechna lichá čísla a sečíst je a od nich odečíst záporná čísla. Neměl by někdo nějaký nápad na vyřešení ? Jedna se o pascal.
Offline
Projdeš si to pole v cyklu a budeš testovat zda zbytek po celočíselném deleni dvema se nerovná nule (cislo mod 2 (asi nevim jak to je v pascalu)).
Když bude podmínka splněná tak číslo přičteš do nějaké proměnné. na konci v té proměnné budeš mít součet všech lichých čísel.
Offline
var a:array[1..10] of integer;
i,s,zb:integer;
begin
writeln('zadje cisla');
begin
for i:=1 to 10 do
readln(a[i]);
s:=(a[i]div2);
zb:= a[i]-2*s;
if zb=1 then write(a[i]);
s:=a[i];
a[i]=a[i]+s;
end;
writeln(a[i]);
end.
nevypíše mi to všechny lichá čisla?? kde je chyba ?
Offline
↑ gogy27:
Píšeš: "... Stačilo by aj: if a[i] mod 2 = 1 then write(a[i]);"
To by nestačilo, protože: -1 mod 2 = -1, takže by ti to záporná lichá nepsalo, ani nesčítalo.
↑ Filip20:
Zkus to třeba takto:
Offline
↑ Roban:
Ahoj, založ si vlastní téma viz pravidla.
Offline