Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <string>
- #include <vector>
- #include <algorithm>
- using namespace std;
- const char FD[] = "U2.txt";
- const char FR[] = "U2rez.txt";
- int sk;
- int apsk_sk = 0;
- string apsk[30];
- vector<string> cities;
- struct Apskritis {
- string pav;
- int gyv_sk;
- };
- struct Miestai {
- string pav;
- string apskritis;
- int gyv_sk;
- };
- void Skaitymas(Miestai M[]) {
- ifstream fd(FD);
- fd>>sk;
- for (int i = 0; i < sk; i++) {
- fd>>M[i].pav>>M[i].apskritis>>M[i].gyv_sk;
- }
- fd.close();
- }
- bool checkExist(Apskritis A[], string s) {
- for (int i = 0; i < sk; i++) {
- if (A[i].pav == s) {
- return true;
- }
- }
- return false;
- }
- void SkaiciuotiApsk(Miestai M[], Apskritis A[]) {
- for (int i = 0; i < sk; i++) {
- if (!checkExist(A, M[i].apskritis)) {
- A[i].pav = M[i].apskritis;
- A[i].gyv_sk = 0;
- apsk_sk++;
- cities.push_back(M[i].apskritis);
- }
- }
- sort(cities.begin(), cities.end());
- }
- void SkaiciuotiApskGyventojus(Miestai M[], Apskritis A[]) {
- for (int i = 0; i < apsk_sk; i++) {
- for (int j = 0; j < sk; j++) {
- if (M[j].apskritis == A[i].pav) {
- A[i].gyv_sk+=M[j].gyv_sk;
- }
- }
- }
- }
- void MaziausiasMiestas(Miestai M[], Apskritis A[]) {
- for (int i = 0; i < sk; i++) {
- }
- }
- void Rusiuoti(Miestai M[], Apskritis A[]) {
- int temp;
- string temps;
- for (int i = 0; i < apsk_sk; i++) {
- for (int j = 0; j < apsk_sk - 1; j++) {
- if (A[j].gyv_sk > A[j+1].gyv_sk) {
- temp = A[j].gyv_sk;
- temps = A[j].pav;
- A[j].gyv_sk = A[j+1].gyv_sk;
- A[j].pav = A[j+1].pav;
- A[j+1].gyv_sk = temp;
- A[j+1].pav = temps;
- } else if (A[j].gyv_sk == A[j+1].gyv_sk) {
- }
- }
- }
- for (int i = 0; i < apsk_sk; i++) {
- cout <<"Skaicius: "<<A[i].pav<<endl;
- }
- }
- void abecele(Apskritis A[], int n)
- {
- bool swapped = true;
- int j = 0;
- string tmp;
- int a;
- while (swapped)
- {
- swapped = false;
- j++;
- for (int i = 0; i < n - j; i++)
- {
- if ( A[i].pav.compare(A[i + 1].pav) )
- {
- tmp = A[i].pav;
- a = A[i].gyv_sk;
- A[i].pav = A[i + 1].pav;
- A[i].gyv_sk = A[i+1].gyv_sk;
- A[i + 1].pav = tmp;
- A[i + 1].gyv_sk = a;
- swapped = true;
- }
- }
- }
- for (int i = 0; i < apsk_sk; i++) {
- cout<<"Miestas: "<<A[i].pav<<endl;
- }
- }
- int main()
- {
- Apskritis A[1000];
- Miestai M[1000];
- Skaitymas(M);
- SkaiciuotiApsk(M,A);
- SkaiciuotiApskGyventojus(M, A);
- Rusiuoti(M,A);
- abecele(A, apsk_sk);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement