Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Zadanie 1.
- Dany jest ciąg n liczb całkowitych. Napisz program , który wyszuka
- liczby bliźniacze w podanym ciągu a następnie wypisze znalezione liczby
- na ekranie komputera. Jeśli w podanym ciągu liczby bliźniacze nie
- istnieją to na ekranie powinien zostać wypisany stosowny komunikat.*/
- #include <iostream>
- #include <ctime>
- #include <vector>
- using namespace std;
- const int n = 100;
- bool pierwsza(int x)
- {
- if(x < 2)
- return false;
- for(int i = 2; i*i <= x; ++i)
- if(x % i == 0)
- return false;
- return true;
- }
- bool blizniacza(int x)
- {
- if(pierwsza(x) && pierwsza(x+2))
- return true;
- return false;
- }
- struct Para
- {
- int a, b;
- };
- bool juz_jest(vector<Para> tablica, int wartosc)
- {
- for(unsigned i = 0; i < tablica.size(); ++i)
- if(tablica[i].a == wartosc)
- return true;
- return false;
- }
- void blizniacze(int* ciag)
- {
- vector<Para> blizniacze;
- Para para;
- for(int i = 0; i < n; ++i)
- if(blizniacza(ciag[i]))
- {
- for(int j = 0; j < n; ++j)
- if(ciag[j] == (ciag[i] + 2))
- if(!juz_jest(blizniacze, ciag[i]))
- {
- para.a = ciag[i];
- para.b = ciag[j];
- blizniacze.push_back(para);
- }
- }
- if(blizniacze.size() == 0)
- cout << "Nie znaleziono zadnych liczb blizniaczych\n";
- for(unsigned i = 0; i < blizniacze.size(); ++i)
- {
- cout << blizniacze[i].a << '\t' << blizniacze[i].b << endl;
- }
- }
- int main()
- {
- srand(static_cast<unsigned>(time(nullptr)));
- int ciag[n];
- for(int i = 0; i < n; ++i)
- ciag[i] = rand() % 100 + 1;
- blizniacze(ciag);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment