Advertisement
Quirinus

LinearSearch_imena.cpp

Oct 19th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.33 KB | None | 0 0
  1. #include <iostream> //treba nam za ispis podataka na ekran (cout)
  2. #include <fstream> //treba nam za ucitavanje podataka iz datoteka (ifstream, ifstream.close())
  3.  
  4. //koristimo imena iz prostora "std", ovo stavljamo da ne moramo pisati "std::cout", nego samo "cout"
  5. using namespace std;
  6.  
  7. //glavni dio programa
  8. int main()
  9. {
  10.     //definiramo pristup datotekama iz kojih cemo citati imena i prezimena
  11.     ifstream fileNames("names.txt");
  12.     ifstream fileSurnames("surnames.txt");
  13.    
  14.     //definiramo polja koja ce sadrzavati imena i njihovu duljinu
  15.     const int countPeople = 100;
  16.     string names[countPeople];
  17.     string surnames[countPeople];
  18.    
  19.     //definiramo koje prezime trazimo i brojac kojim cemo brojati koliko smo ih nasli
  20.     string searchSurame = "Smith";
  21.     int counterSearchPeople = 0;
  22.    
  23.     //definiramo polja koje sadrzi imena ljudi koje imaju trazeno prezime te njihov indeks u listi
  24.     //(nulti po redu, prvi po redu, drugi po redu)
  25.     string searchNames[countPeople];
  26.     int searchSurnamesIndex[countPeople];
  27.    
  28.     for (int i = 0; i < countPeople; i++)
  29.     {
  30.         //ucitavamo imena i prezimena iz datoteka u polja
  31.         getline(fileNames, names[i]);
  32.         getline(fileSurnames, surnames[i]);
  33.        
  34.         //provjeravamo je li ucitano prezime ono koje trazimo
  35.         if (surnames[i] == searchSurame)
  36.         {
  37.             //ako je to trazeno prezime:
  38.             searchNames[counterSearchPeople] = names[i];    //dodajemo ga u polje sa imenima
  39.             searchSurnamesIndex[counterSearchPeople] = i;   //dodajemo njegov indeks u polje
  40.             counterSearchPeople++; //povecavamo brojac koji broji koliko smo ljudi nasli
  41.         }
  42.     }
  43.    
  44.     //zatvaramo datoteke jer smo vec ucitali sva imena i prezimena
  45.     //(ako ih ne zatvorimo dok program radi, drugi programi ih nece moci mijenjati)
  46.     fileNames.close();
  47.     fileSurnames.close();
  48.    
  49.     //ispisujemo rezultate:
  50.         //koliko ima ljudi sa tim prezimenom te trazeno prezime
  51.         //listu tih imena, prezimena sa njihovim rednim brojem u listi
  52.         //(redni broj = indeks + 1, tako da je prvi na listi prvi, a ne nulti)
  53.     cout << "There are " << counterSearchPeople << " " << searchSurame << "s:" << endl;
  54.     cout << "_____________________" << endl;
  55.     for (int i = 0; i < counterSearchPeople; i++)
  56.     {
  57.         cout << searchSurnamesIndex[i] + 1 << ".\t" << searchNames[i] << " " << searchSurame << endl;
  58.     }
  59.    
  60.     //izlazimo iz programa
  61.     return 0;
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement