C++ feladat megoldásának vége?
Segítségre lenne szükségem egy feladatban: 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 azokat a napokat, amikor legalább egy településen hűvösebb lesz, mint az előző nap
volt!
#include <iostream>
using namespace std;
int main()
{
int N,M;
do
{
cout << "Hany telepulesen mertuk a homersekletet?" << endl;
cin >> N;
}
while (N<=0);
do
{
cout << "Hany nap mertuk a homersekletet?" << endl;
cin >> M;
}
while (M<=0);
float t[N][M];
for (int i=0;i<N;i++)
{
for (int j=0;j<M;j++)
{
cout << "A(z) " << i+1 << ". telepulesen a(z) " << j+1 << ". napi homerseklet: " << endl;
cin >> t[i][j];
}
}
for (int i=0;i<N;i++)
{ for (int j=0;j<M;j++){
if (t[i][j+1]<t[i][j])
{
Eddig eljutottam a feladattal, a végén viszont nem sikerül elérnem, hogy kiadja az összes napot (megszámolni meg tudom, az elsőt, amit talál, azt is ki tudom írni, de ez valahogy nem akar sikerülni.)
Ez megoldás nem jó?
for (int i=0;i<N;i++)
{ for (int j=0;j<M-1;j++){
if (t[i][j+1]<t[i][j])
{
cout<<"A(z)"<<i+1<<". telepulesen a(z)"<<j+1<<". napi homerseklet alacsonyabb volt az elozo napinal"<<endl;
}
}
Köszi szépen!
Működik, annyi csak, hogy a cout-nál j+2.
Bocsánat, de nem az volt a feladat hogy adja meg "azokat a napokat, amikor legalább egy településen hűvösebb lesz, mint az előző nap"
volt"? Csak a napokat. Vagy így is jó?
pl kimenet: 2.nap 4.nap 5.nap
"Csak a napokat, de annyi, hogy kiveszem onnan az i+1-t"
Már bocsi, de elég idétlen kimenetet ad akkor a program, egy napot többször kiírhat össze-vissza.
pl ezekre az adatokra:
22 22 22 30 24
30 25 28 26 22
25 27 30 30 24
20 23 25 29 20
27 24 26 29 26
5. napi homerseklet alacsonyabb volt az elozo napinal
2. napi homerseklet alacsonyabb volt az elozo napinal
4. napi homerseklet alacsonyabb volt az elozo napinal
5. napi homerseklet alacsonyabb volt az elozo napinal
5. napi homerseklet alacsonyabb volt az elozo napinal
5. napi homerseklet alacsonyabb volt az elozo napinal
2. napi homerseklet alacsonyabb volt az elozo napinal
5. napi homerseklet alacsonyabb volt az elozo napinal
Holott az elvárt kiment pl:
Napok:
2.nap 4.nap 5.nap
Segítség: Használj hozzá egy bool segéd tömböt.
Megcsináltam úgy, de valamiért még mindig nem adja ki a tömb összes elemét. Esetleg abban tud valaki segíteni, hogy mit rontottam el:
#include <iostream>
using namespace std;
int main()
{
int N,M;
do
{
cout << "Hany telepulesen mertuk a homersekletet?" << endl;
cin >> N;
}
while (N<=0);
do
{
cout << "Hany nap mertuk a homersekletet?" << endl;
cin >> M;
}
while (M<=0);
int t[N][M];
for (int i=0;i<N;i++)
{
for (int j=0;j<M;j++)
{
cout << "A(z) " << i+1 << ". telepulesen a(z) " << j+1 << ". napi homerseklet: " << endl;
cin >> t[i][j];
}
}
int jo[100];
int db=0;
bool vane=false;
for (int i=0;i<N;i++)
{
for (int j=1;j<M;j++)
{
if (t[i][j]<t[i][j-1])
{
vane=false;
for(int w=0;w<=db;w++)
{
if(jo[w]==j)
{
vane=true;
}
}
if(vane==false){
jo[db]=j+1;
db++;
}
}
}
}
for(int i=0;i<db;i++)
{
cout<<"Valamelyik telepulesen a(z)" <<jo[i]<< ". napi homerseklet alacsonyabb volt az elozo napinal"<<endl;
}
return 0;
}
"Megcsináltam úgy, de valamiért még mindig nem adja ki a tömb összes elemét."
Nem, nem csináltad meg úgy. Ha szerinted tévedek akkor mond meg hogy hanyadik sorba van deklarálva az a bizonyos bool tömb.
Egyáltalán miért bool tömböt írtam vajon? (Nem véletlen.) Mert az tulajdonképp mi is?
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!