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;
}
sikerült végre.
így néz ki a kód:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int homerseklet,i;
int tomb[10];
i=0;
do{
printf("Akarunk uj homersekletet bevinni?");
scanf("%d",&tomb[i]);
if(tomb[i]==1){
printf("Homerseklet:");
scanf("%d",&homerseklet);
}
i++;
}while(i<10 && tomb[i-1]==1);
return 0;
}
köszi mindenkinek a segítséget, mentek a zöld ujjak.
Akkor leírom mégegyszer, ha elsőre elsiklottál felette: nem kell tömbben tárolni az egyeseket, elég lenne neki egyetlen integer. A másik, hogy ez még nem írja ki neked az átlagot. Ahhoz egy osszeg változóban el kellene tárolnod a hőmérsékletek összegét, majd a végén elosztani i-vel.
Szívesen, egy élmény volt.
Ehh, hülyeséget írtam. Így gondoltam a kódot:
#include <stdio.h>
int main()
{
int homerseklet, i = 0;
int lesz_kov;
printf("Akarunk homersekletet bevinni? ");
scanf("%d",&lesz_kov);
while ((lesz_kov == 1) && (i < 10)) {
printf("Homerseklet: ");
scanf("%d",&homerseklet);
printf("Akarunk uj homersekletet bevinni? ");
scanf("%d",&lesz_kov);
i++;
}
return 0;
}
na akinek van kedve hozzá, az előzőhöz pluszba:
Ezt követően a program
írja ki, hogy:
Hány darab hőmérsékleti értéket adtunk meg.
Mekkora volt a legmagasabb hőmérséklet.
Mekkora volt a legalacsonyabb hőmérséklet.
Hány napon volt fagypont alatt a hőmérséklet (azaz 0-nál alacsonyabb).
A feladat során feltételezhetjük, hogy a felhasználó legalább 1 hőmérséklet adatot megad.
A db-ot i-ben tároltuk.
A többit pedig a megszámlálás tétellel lehet, 1-1 iffel megoldható.
int db=0;
if(tomb[i]==1){
db++;
printf("%d db van,",db);
}
így álltam neki, valami javaslat, mert tudom, hogy ez így nem jó.(ezt az előző while után kezdtem el)
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!