Kezdőoldal » Számítástechnika » Programozás » C programozás. Lenn van a...

C programozás. Lenn van a feladat, kicsit elakadtam és nem jövök rá sehogyan sem. Tudnátok segíteni?

Figyelt kérdés

Több, egymás utáni napon feljegyezzük az átlaghőmérsékletet Celsius fokban. Írjunk algoritmust,

amely beolvassa a hőmérsékleteket. A beolvasás a következő módon történik: A program megkérdezi,

hogy akarunk-e új hőmérsékleti adatot megadni. Ha a felhasználó 1-et ír be, akkor az azt jelenti, hogy

új adatot kívánunk megadni, a 0 pedig azt jelenti, hogy végeztünk a bevitellel. Az 1-es hatására a

program olvasson be egy hőmérsékletet. Feltételezzük, hogy a hőmérséklet egész szám. Továbbá a

program legfeljebb 10 hőmérséklet adat bevitelét engedélyezi, azaz a 10. után automatikusan véget ér

a bevitel. (Vegyük észre, hogy ha akarjuk, akkor kevesebbet is bevihetünk).


#include <stdio.h>



int main(){

int tomb[10];

i=0;

do{

printf("Akarunk uj homersekletet bevinni?");

scanf("%d",&tomb[i]);


printf("Homerseklet:");

scanf("%d",&homerseklet);

i++;

}while((tomb[i]<10) || (tomb[i]!=0));



return 0;


}



2013. okt. 30. 21:20
1 2 3
 1/21 anonim ***** válasza:

Azt vedd észre, hogy az átlaghőmérséklet meghatározásához nem kell 10 hőmérsékletet eltárolni, elég az összegüket és a számukat.


Egy lehetséges ciklusfeltétel erre:

while (db < 10 && lesz_kovetkezo==1)

2013. okt. 30. 21:26
Hasznos számodra ez a válasz?
 2/21 anonim ***** válasza:

A while-ban van egy olyan:

tomb[i] < 10 - ez azt jelenti, hogy az i. hőmérséklet kisebb mint 10. Ha jól értettem, akkor te a 10. hőmérséklet után automatikusan leakarsz állni a ciklussal.

Szóval: tomb[i] < 10 helyett írj: i < 10-et.

2013. okt. 30. 21:26
Hasznos számodra ez a válasz?
 3/21 A kérdező kommentje:
tudom, hogy nem kell 10, csak a feladat azt írja, hogy max 10 lehet, utána ciklus vége vagy pedig a 0-val kilépek.
2013. okt. 30. 21:29
 4/21 A kérdező kommentje:

int tomb[10];

i=0;

do{

printf("Akarunk uj homersekletet bevinni?");

scanf("%d",&tomb[i]);


printf("Homerseklet:");

scanf("%d",&homerseklet);

i++;

}while(i<10 || tomb[i]!=0);



átírtam, de még mindig nem lép ki.fogalmam sincs miért nem.

2013. okt. 30. 21:32
 5/21 anonim ***** válasza:
|| helyett használj &&-t.
2013. okt. 30. 21:33
Hasznos számodra ez a válasz?
 6/21 anonim ***** válasza:
És a sok 1-est minek tárolod el? Bőven elég egyetlen változó erre...
2013. okt. 30. 21:35
Hasznos számodra ez a válasz?
 7/21 A kérdező kommentje:
valami javult, 10 után abbahagyja, viszont a 0-val még mindig nem lép ki.
2013. okt. 30. 21:48
 8/21 anonim ***** válasza:
Azért nem lép ki, mert a tömb elemei alapértelmezetten nullák.
2013. okt. 30. 21:51
Hasznos számodra ez a válasz?
 9/21 anonim ***** válasza:
tomb[i] != 0 helyett írj: tomb[i] == 1-et.
2013. okt. 30. 21:51
Hasznos számodra ez a válasz?
 10/21 anonim ***** válasza:
Azért nem lép ki mert a növelés után végzed a vizsgálatot. Írj i-1 et.
2013. okt. 30. 21:54
Hasznos számodra ez a válasz?
1 2 3

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!