Kezdőoldal » Számítástechnika » Programozás » Olvassunk be egész számokat 0...

Olvassunk be egész számokat 0 végjelig egy maximum 100 elemű tömbbe (a tömböt 100 eleműre deklaráljuk, de csak az elejéből használjunk annyi elemet, amennyit a felhasználó a nulla végjelig beír). - Írjuk ki a számokat a beolvasás sorrendjében?

Figyelt kérdés

Ebben valaki tudna segíteni?

Egy repeat-untilba bekérem a számokat 0 végjelig, addig megvan. Utána a kiíratásban kérnék egy kis segítséget, mert nem tudom, hogyan kell csak azokat a számokat kiírni amelyeket bekértem a felhasználótol..

Free pascal.



2014. aug. 18. 11:24
 1/9 anonim ***** válasza:

> hogyan kell csak azokat a számokat kiírni amelyeket bekértem a felhasználótol..


ciklus i:=1..N-ig

.. kiír(tömb[i]);

ciklus vége


Ahol:

- N a bekért számok darabszáma

- tömb pedig az a tömb, amiben eltároltad a számokat

2014. aug. 18. 11:39
Hasznos számodra ez a válasz?
 2/9 anonim ***** válasza:

Két ötletem lenne:

1. Általános megoldás: Eltárolod hány darab számot írt be a felhasználó, és ennyi darab számot íratsz ki a tömbből.

2. Feladat specifikus megoldás: Beírod a nullát is a tömbbe, majd utána az első 0-ig írod ki a számokat.

2014. aug. 18. 12:01
Hasznos számodra ez a válasz?
 3/9 anonim ***** válasza:

int szamok[100];

int index = 0;


while (true)

{

  int szam;

  std::cin >> szam;

  szamok[index++] = szam

  if (szam == 0) break;

}


for (int i = 0; i < index; i++)

{

  std::cout << szamok[i] << std::endl;

}


most pedig írd át Free pascal-ra :D

2014. aug. 18. 13:15
Hasznos számodra ez a válasz?
 4/9 anonim ***** válasza:
51%

while (true)

{

...

if (szam == 0) break;

}

Ilyet ne. Ocsmány és veszélyes is.

Nem véletlenül tudjuk előre, hogy max 100 elem lehet.

2014. aug. 18. 13:17
Hasznos számodra ez a válasz?
 5/9 anonim ***** válasza:

Tessek ez a program tokeletesen mukodik, nezd meg a kodjat!


program feladat;

uses crt;

var a : array[1..100] of integer;

szam : integer;

i : byte;

begin

clrscr;

i:=0;

writeln('Szamok beolvasasa 0 vegjelig: ');

repeat

inc(i);

write('szam = ');

readln(a[i]);

until(a[i] = 0);


writeln('A szamok a beolvasas sorrendjeben: ');

for szam:=1 to i-1 do

write(a[szam],' ');

readln;

end.

2014. aug. 19. 15:05
Hasznos számodra ez a válasz?
 6/9 A kérdező kommentje:
köszönöm szépen a segítségeteket!
2014. aug. 19. 17:36
 7/9 anonim ***** válasza:

> Ilyet ne. Ocsmány és veszélyes is.

Tudtam, hogy a while(true) ki fogja csapni a biztosítékot valamelyik script kiddie-nél. Erről esetleg hallottál már?

#define forever while(true)

És ezt nem én találtam ki.

A végtelen ciklus nem egy ocsmány dolog, bár valóban veszélyes. Régen csak így kellett eventloop-ot csinálni még Win alatt is.


> Nem véletlenül tudjuk előre, hogy max 100 elem lehet.

Ez viszont jogos, tényleg megállnatna 100-nál úgy több sem férne bele bufferbe.

2014. aug. 19. 18:48
Hasznos számodra ez a válasz?
 8/9 SimkoL ***** válasza:
@5: Mond, hogy csak te is két oldalt olvastál akármilyen könyvből :)
2014. aug. 19. 19:02
Hasznos számodra ez a válasz?
 9/9 anonim ***** válasza:

Nem a végtelen ciklus a csúnya dolog, hanem a helytelen használata, ahogy te is próbáltad.

Tanulj kicsit alapokat, sok az elmaradás.

2014. aug. 19. 21:37
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!