Sajnos elakadtam, segítene valaki?
Így szól a feladat: Madarak életének kutatásával foglalkozó szakemberek n különböző településen m különböző madárfaj előfordulását tanulmányozzák. Egy adott időszakban megszámolták, hogy az egyes településen egy madárfajnak hány egyedével találkoztak. Hány településen fordult elő mindegyik madárfaj?
C++ nyelven kell megoldani ezt a feladatot.
Eddig jutottam:
#include <iostream>
#include <vector>
using namespace std;
int mindegyik(int i);
int szamlalas(int &db);
int main()
{
int db;
int n;
int m;
cout <<"Add meg a varosok szamat!" <<endl;
cin>>n;
cout <<"Add meg a madar fajok szamat!" <<endl;
cin>>m;
int madar[n][m];
for (int i=0; i<n; i++)
{
for(int j=0; j<m; j++)
{
cout << "Add meg, az " << i+1 <<". varos " <<j+1<< ". madarfaj szamat!" <<endl;
cin >> madar[i][j];
}
}
cout << szamlalas(db) << " telepulesen fordult elo az osszes madarfaj." <<endl;
return 0;
}
int mindegyik(int i)
{
int n;
int m;
int madar[n][m];
bool l=true;
int j=0;
while(l && j<m)
{
l=madar[n][j]>0;
j++;
}
return l;
}
int szamlalas(int &db)
{
int n;
db=0;
int i=0;
while(i<n)
{
if(mindegyik(i))
{
db++;
}
i++;
}
return db;
}
Miért nem jó a program?





A legszembetűnőbb hiba, hogy rengeteg változódnak nincs érték adva.
Amikor egy függvénybe beírod pl, hogy 'int n', annak semmi köze nem lesz a main függvényedben levő n változóhoz, ez egy teljesen új, n nevű változó lesz, aminek nem adtál értéket. A cél az lenne, hogy ezekena pontokon a főprogramban levő változó értéke kerüljön átadásra.
Ugyanez a hibád a mindegyik(int i) függvényeden belül az 'int madar[n][m]' sorral, itt egy teljesen új tömböt hozol létre. A megoldás, hogy a releváns változókat kiviszed a main elé, így globálisan eléred majd őket, és a függvényen belül már nyugodtan tudod használni őket.










Kapcsolódó kérdések:
Minden jog fenntartva © 2025, 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!