C programozás. Lenn van a feladat, kicsit elakadtam és nem jövök rá sehogyan sem. Tudnátok segíteni?
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;
}
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)
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.
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.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!