Kezdőoldal » Számítástechnika » Programozás » Sajnos elakadtam, segítene...

Sajnos elakadtam, segítene valaki?

Figyelt kérdés

Í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?



2016. ápr. 27. 15:54
 1/4 anonim ***** válasza:

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.

2016. ápr. 27. 17:27
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:
Alsóhangon jegyzem meg, hogy az #include <vector> teljesen fölösleges, mivel egyszer sem használsz vector-t a programban :)
2016. ápr. 27. 17:30
Hasznos számodra ez a válasz?
 3/4 A kérdező kommentje:
Köszönöm szépen, jobb egy fokkal de az algoritmus még mindig nem jó :S vectorra szeretném átalakítani ha az algoritmus jó azért van be include-olva
2016. ápr. 27. 18:01
 4/4 anonim ***** válasza:
Nos, a mindegyik() függvényednek van egy 'i' paramétere, amit nem használsz benne. Akörül kezdj szimatolni :D
2016. ápr. 27. 19:13
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!