Valaki segíteni a program megírásába (c++)?
eddig jutottam el:
#include <iostream>
using namespace std;
struct nevek
{
char nev[15];
int hossz;
};
int main()
{
int i=0,n=0,max=0,maxindex=0,min=0,minindex=0;
nevek tankor[20]={""};
/* Nevek számának bekérése ellenorzötten: 1~20*/
do
{
cout << "Hanyan vannak a tankorben? max(20) \n";
cin >> n;
}while(n>20 or n<1);
/* Nevek bekérése, hosszuk meghatározása */
for(i=0;i<n;i++)
{
cout << i+1 << ". keresztneve:\n";
cin >> tankor[i].nev;
tankor[i].hossz=strlen(tankor[i].nev);
}
/* Legrövidebb és leghosszabb kiválasztása */
maxindex=0;
max=tankor[0].hossz;
minindex=0;
min=200;
for(i=0;i<n;i++)
{
if(tankor[i].hossz>max)
{
max=tankor[i].hossz;
maxindex=i;
}
if(tankor[i].hossz<min)
{
min=tankor[i].hossz;
minindex=i;
}
}
cout << "Legrovidebb nev: " << tankor[minindex].nev << " - " << tankor[minindex].hossz << " betu\n";
cout << "Leghosszabb nev: " << tankor[maxindex].nev << " - " << tankor[maxindex].hossz << " betu\n";
system("PAUSE");
return 0;
}
azt nem tudom hogy kell meg csinálni amikor ki kell íratni a legtöbbször előforduló keresztnevet meg hogy hányszor fordul elő ebben tudna segíteni valaki?
azt nem tudom hogy kell meg csinálni amikor ki kell íratni a legtöbbször előforduló keresztnevet meg hogy hányszor fordul elő ebben tudna segíteni valaki?
Ezt egyszerűen megteheted. Létre kell hoznod egy 20 elemű int tömböt mondjuk int t[20](aminek minden elemét kinullázod). Veszed a i. nevet, és ha nevek[i] megegyezik az aktuálisan vizsgált névvel t[i]+=1; Ezt megcsinálod az összes névvel. Ekkor van egy tömböd, amiben le van írva, hogy melyik név hányszor szerepel. Ez után ezen a tömbön kell egy maximum vizsgálatot végrehajtanod.
int index=0;
csinálsz egy for ciklust és megnézed benne hogy
t[index]<t[i]?
Ha igen akkor index=i;
Egyébként meg növeljük az i értékét.
Ha megakadtál akkor írj megint.
amit írtál válaszba azt nem értem nem tudom se hogy se meg csinálni
Mugen válasza:
azt nem tudom hogy kell meg csinálni amikor ki kell íratni a legtöbbször előforduló keresztnevet meg hogy hányszor fordul elő ebben tudna segíteni valaki?
Ezt egyszerűen megteheted. Létre kell hoznod egy 20 elemű int tömböt mondjuk int t[20](aminek minden elemét kinullázod). Veszed a i. nevet, és ha nevek[i] megegyezik az aktuálisan vizsgált névvel t[i]+=1; Ezt megcsinálod az összes névvel. Ekkor van egy tömböd, amiben le van írva, hogy melyik név hányszor szerepel. Ez után ezen a tömbön kell egy maximum vizsgálatot végrehajtanod.
int index=0;
csinálsz egy for ciklust és megnézed benne hogy
t[index]<t[i]?
Ha igen akkor index=i;
Egyébként meg növeljük az i értékét.
Ha megakadtál akkor írj megint.
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!