Ebben a programban mi a hiba? C++ nyelven Code Blocksban írtam. Feladat és forráskód lent.
Feladat:
Az átlagnál melegebb napok száma szerinti sorrend
A meteorológiai intézet az ország N településére adott M napos időjárás előrejelzést, az adott településen
az adott napra várt legmagasabb hőmérsékletet.
Készíts programot, amely megadja a saját átlagánál melegebb napok számának csökkenő sorrendjében
a településeket!
Bemenet
A standard bemenet első sorában a települések száma (1≤N≤1000) és a napok száma
(1≤M≤1000) van. Az ezt követő N sorban az egyes napokra jósolt M hőmérséklet értéke található
(-50≤Hi,j≤50).
Kimenet
A standard kimenet első sorába írja ki a saját átlagánál melegebb napok számának csökkenő
sorrendjében a településeket! Több megoldás esetén azt kell kiírni, amiben a sorszámok nö-
vekvő sorrendben vannak!
Példa
Bemenet
3 5
10 15 12 10 10
11 11 11 11 20
12 16 16 16 18
Kimenet
3 1 2
A forráskódom:
#include <iostream>
using namespace std;
int beegesz(string szoveg,int minert,int maxert,string hibauz);
const int maxvaros=100;
const int maxnap=100;
typedef struct
{
int reggel;
int du;
} THom;
void bethommatrix(const int sorszam,const int oszlopszam,THom matrix[][maxnap]);
int main()
{
setlocale(LC_ALL,"hun");
int varosdb;
int napdb;
int dbkisebb=0;
int maxvaros;
varosdb=beegesz("Add meg a városok számát",1,101,"Hibás adat!");
napdb=beegesz("Add meg a napok számát",1,101,"Hibás adat!");
THom homersekletek[varosdb][maxnap];
bethommatrix(varosdb,napdb,homersekletek);
for (int i=0;i<varosdb;i++)
{
for(int j=0;j<napdb;j++)
{
if(homersekletek[i][j].du<homersekletek[i][j].reggel)
{
dbkisebb=dbkisebb+1;
}
}
}
int osszeg[varosdb];
for(int i=0;i<varosdb;i++)
{
for(int j=0;i<napdb;i++)
{
osszeg[i]=homersekletek[i][j].reggel;
}
}
int maxvarost=osszeg[0];
maxvaros=0;
int i=1;
while(i<varosdb)
{
if(osszeg[i]>maxvarost)
{
maxvarost=osszeg[i];
maxvaros=i+1;
}
i++;
}
cout << dbkisebb << " "<< maxvaros;
return 0;
}
int beegesz(string szoveg,int minert,int maxert,string hibauz)
{
bool hiba;
string tmp;
int egesz;
do
{
cout << szoveg << endl;
cin >> egesz;
hiba= cin.fail() || cin.peek()!='\n' || egesz < minert || egesz > maxert;
if(hiba)
{
cout << hibauz;
}
cin.clear();
getline(cin,tmp,'\n');
}while(hiba);
return egesz;
}
void bethommatrix(const int sorszam,const int oszlopszam, THom matrix[][maxnap])
{
const int minhom=-89;
const int maxhom=58;
for(int i=0;i<sorszam;i++)
{
for(int j=0;j<oszlopszam;j++)
{
cout << i+1 << ". sor" << j+1 << ". oszlop:";
matrix[i][j].reggel=beegesz("Írd be a reggeli hőmérsékletet",minhom,maxhom,"Hibás adat!");
matrix[i][j].du=beegesz("Írd be a délutáni hőmérsékletet",minhom,maxhom,"Hibás adat!");
}
}
}
Hát kezdjük ott, hogy az ég világon semmi köze a feladathoz. A feladatban nincs is szó délutáni meg reggeli hőmérsékletekről... te most lemásoltad valakinek a kódját, aki más feladatot oldott meg?
Először akkor tisztázd, mit is akarsz csinálni a kódoddal, merthogy teljesen más feladatot próbál megoldani, mint amit te kiírtál. Egyébként ha jól sejtem, ez progalap beadandó akar lenni, korrekt?
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!