Segítség kéne a C++ programozás házi dolgozatomban. Melyikőtök ért hozzá?
#include <cstdlib>
#include <iostream>
#include <string.h>
using namespace std;
int main (void)
{
struct ovi
{string nev;
string utca;};
int i, j, k ,n ,m;
cin>>n;
ovi a[n];
for(i=0;i<n;i++)
{cin>>a[i].nev;
cin>>a[i].utca;}
cin>>m;
ovi b[m];
for(j=0;j<m;j++)
{cin>>b[j].nev;
cin>>b[j].utca;}
ovi c [n+m];
k=0;
for(i=0;i<n;i++)
{j=0;}
while ((a[i].utca!="Petofi")&&(b[j].utca!="Petofi")) && (j<n)
{j++;}
if (j<n) {k++;
c[k].utca=b[j].utca;}
cout<<c[k].utca;
system ("PAUSE");
return EXIT_SUCCESS;
}
eddig ezt csináltam de valamiért nem fut
k=0;
for(i=0;i<n;i++)
{j=0;}
itt mit csinálsz?
while ((a[i].utca!="Petofi")&&(b[j].utca!="Petofi")) && (j<n)
ha jól emlékszem, C++-ban nem lehet stringet összehasonlítani !=-vel. Próbálkozz ezzel: a[i].utca.compare("Petofi") != 0
k=0;
for(i=0;i<n;i++)
{j=0;}
ennél a j nullázom le...de azt nem értem miért kell oda ciklus meg hogy miért kell ez egyáltalán...am köszi a segítséget :)
Mintha a while ciklusoddal egyéb gond is lenne. Nem teljesen értem, hogy mit kell csinálni itt, a feladat szövegére a legkönnyebb megoldás sztem:
nullázás meg while ciklus helyett:
for(i = 0; i < n; i++) {
if(a[i].utca.compare("Petofi") == 0)
{
cout << a[i].nev << endl;
}
}
for(i = 0; i < n; i++) {
if(b[i].utca.compare("Petofi") == 0)
{
cout << b[i].nev << endl;
}
}
ezzel egyszerűen kiíratod a gyerekek nevét, akik Petőfi utcában lanak. nem ez kell?
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!