Advertisement
Guest User

Keresztnevek

a guest
Nov 26th, 2015
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.68 KB | None | 0 0
  1. //Ignácz Gábor Imre IGGXAAG.KEFO 5-ös feladat
  2. #include<iostream>
  3. #include<cstring>
  4. #include <string.h>
  5. #include <stdio.h>
  6. using namespace std;
  7.     struct tanulok{
  8.         string nev;
  9.         int eloford; //változó a legtöbbször előforduló név kiválasztásához
  10.     };
  11. int main(){
  12.     setlocale(LC_ALL, "hun");
  13.     cout<<"Ignácz Gábor Imre IGGXAAG.KEFO 5-ös feladat"<<endl;
  14.     tanulok nevek[20];
  15.     int db=-1;
  16.     int t=1;
  17.     string nev;
  18.     string uj;
  19.    
  20.     //Nevek bekérése
  21.     do{
  22.         cout<<"Adja meg a "<<t<<". tanuló nevét: ";
  23.         cin>>nev;
  24.         db++;           //Tömbváltozó a műveletekhez
  25.         nevek[db].nev=nev;
  26.    
  27.         t++;             //Változó a nevek bekérésének sorszámozásához
  28.         cout<<"Szeretne újabb nevet megadni? (I/N) ";
  29.         cin>>uj;
  30.     }
  31.     while(uj=="i");
  32.     //Saját ellenőrzés a tömbhöz
  33.     for(int i=0;i<=db;i++){
  34.         cout<<"Név "<<nevek[i].nev<<endl; 
  35.     }
  36.     //Leghosszabb keresztnév
  37.     int max=0;
  38.     for(int i=0;i<=db;i++){
  39.         if(nevek[i].nev.length()>nevek[max].nev.length()){
  40.             max=i;
  41.         }
  42.     }
  43.     cout<<"A leghosszabb név: "<<nevek[max].nev<<" és "<<nevek[max].nev.length()<<" karakter hosszú.";
  44.     cout<<endl;
  45.     //legrövidebb kersztnév
  46.     int min=0;
  47.     for(int i=0;i<=db;i++){
  48.         if(nevek[i].nev.length()<nevek[min].nev.length()){
  49.             min=i;
  50.         }
  51.     }
  52.     cout<<"A legrövidebb név: "<<nevek[min].nev<<" és "<<nevek[min].nev.length()<<" karakter hosszú.";
  53.     cout<<endl;
  54.     //A leggyakoribb keresztnév   
  55.    
  56.     for(int i=0; i<=db;i++){
  57.         const char * c = nevek[i].nev.c_str();
  58.         for(int j=i+1; j<=db;j++){
  59.             const char * d = nevek[j].nev.c_str();
  60.             if(c==d){
  61.                 nevek[i].eloford++;
  62.             }
  63.         }
  64.     }
  65.     for(int i=0; i<=db;i++){
  66.         cout<<"Előfordulások: "<<nevek[i].eloford<<" db"<<endl;
  67.     }
  68.        
  69.     return 0;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement