Matematické Fórum

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

#1 20. 05. 2012 22:29

Filip20
Zelenáč
Příspěvky: 14
Reputace:   
 

Lichá čísla Pascal

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

  • (téma jako vyřešené označil(a) Filip20)

#2 20. 05. 2012 23:22

gladiator01
Místo: Jindřichův Hradec
Příspěvky: 1587
Škola: ZČU FAV - SWI
Pozice: absolvent
Reputace:   53 
Web
 

Re: Lichá čísla Pascal

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.


Naděje jako svíce jas, potěší srdce štvané, čím temnější je noční čas, tím zářivěji plane.
VIVERE - MILITARE EST (Seneca)
Vím, že nic nevím. - Sokrates

Offline

 

#3 21. 05. 2012 08:22

Filip20
Zelenáč
Příspěvky: 14
Reputace:   
 

Re: Lichá čísla Pascal

Ano takhle to taky chápu jenže já mám proměnou určenou jako pole (a[i]), a tak nevím jak nadefinovat aby se mi přičetly všechny liché.

Offline

 

#4 21. 05. 2012 08:27

gogy27
Příspěvky: 318
Reputace:   
 

Re: Lichá čísla Pascal

Zadefunuješ si ďalšiu premennú pomocnú, do ktorej budeš ukládať súčet tých čísel.

Offline

 

#5 21. 05. 2012 09:33

Filip20
Zelenáč
Příspěvky: 14
Reputace:   
 

Re: Lichá čísla Pascal

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

 

#6 21. 05. 2012 09:46

gogy27
Příspěvky: 318
Reputace:   
 

Re: Lichá čísla Pascal

s:=(a[i]div2);
zb:= a[i]-2*s;

if zb=1 then write(a[i]);

Načo takto zbytočne?
Stačilo by aj:
if a[i] mod 2 = 1 then write(a[i]);

Za cyklom for ti chyba begin.

Offline

 

#7 21. 05. 2012 11:29 — Editoval Honzc (21. 05. 2012 12:09)

Honzc
Příspěvky: 4551
Reputace:   241 
 

Re: Lichá čísla Pascal

↑ 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

 

#8 30. 05. 2012 20:29

janca361
.
Příspěvky: 3284
 

Re: Lichá čísla Pascal

↑ Roban:
Ahoj, založ si vlastní téma viz pravidla.

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson