#include #include #include using namespace std; const int aRozm = 15; const int bRozm = 15; int randZakresu(int p, int k); void losujTablice(int* tablica, const int rozmiarTablicy, int przedzial1, int przedzial2, int(*funkcjaLosujaca)(int, int)); void wypiszTablice(int* tablica, const int rozmiar); int wyliczMinTablicy(int* tablica, const int rozmiar); void wypelnijTrzeciaTablice(int* tablicaA, const int rozmiarA, int* tablicaB, const int rozmiarB, int* tablicaC); int wyliczKrotnoscElementu(int* tablica, const int rozmiar, int element); double wyliczSredniaArytmetyczna(int* tablica, const int rozmiar); int main() { srand(time(NULL)); int A[aRozm], B[bRozm], C[aRozm] = {0}; int p, k; // Losowanie tablic cout << "Podaj pierwszy punkt zakresu losowania: "; cin >> p; cout << "\nPodaj drugi punkt zakresu losowania: "; cin >> k; cout << endl << endl; losujTablice(A, aRozm, p, k, randZakresu); losujTablice(B, bRozm, p, k, randZakresu); // Wypisanie tablic cout << "Tablica A:" << endl; wypiszTablice(A, aRozm); cout << endl << "Tablica B:" << endl; wypiszTablice(B, bRozm); cout << endl << endl; // Liczenie najmniejszego elementu cout << "Najmniejszy element tablicy A: " << wyliczMinTablicy(A, aRozm) << endl; cout << "Najmniejszy element tablicy B: " << wyliczMinTablicy(B, bRozm) << endl << endl << endl; // Wyliczenie tablicy C na podstawie min(A[i], B[i]) wypelnijTrzeciaTablice(A, aRozm, B, bRozm, C); cout << "Tablica C:" << endl; wypiszTablice(C, aRozm); cout << endl << endl; // Wyliczenie, ile razy wystapila dana liczba w tablicy cout << "Podaj szukany element: "; cin >> p; cout << "Element " << p << " wystapil w tablicy A: " << wyliczKrotnoscElementu(A, aRozm, p) << endl; cout << "Element " << p << " wystapil w tablicy B: " << wyliczKrotnoscElementu(B, bRozm, p) << endl << endl << endl; // Wyliczenie sredniej arytmetycznej z danych tablic cout << "Srednia arytmetyczna elementow tablicy A: " << wyliczSredniaArytmetyczna(A, aRozm) << endl; cout << "Srednia arytmetyczna elementow tablicy B: " << wyliczSredniaArytmetyczna(B, bRozm) << endl; return 0; } int randZakresu(int p, int k) { if(k > p) return ( (rand()%(k-p) + p) ); else if(p > k) return ( (rand()%(p-k) + k) ); else return p; } void losujTablice(int* tablica, const int rozmiarTablicy, int przedzial1, int przedzial2, int(*funkcjaLosujaca)(int, int)) { for(int i = 0; i < rozmiarTablicy; i++) { tablica[i] = funkcjaLosujaca(przedzial1, przedzial2); } } void wypiszTablice(int* tablica, const int rozmiar) { for(unsigned int i = 0; i < rozmiar; i++) { cout << "\tElement " << i << ": " << tablica[i] << endl; } } int wyliczMinTablicy(int* tablica, const int rozmiar) { int min = tablica[0]; for(int i = 1; i < rozmiar; i++) { if(min > tablica[i]) min = tablica[i]; } return min; } void wypelnijTrzeciaTablice(int* tablicaA, const int rozmiarA, int* tablicaB, const int rozmiarB, int* tablicaC) { for(int i = 0; (rozmiarA > rozmiarB) ? (i < rozmiarA) : (i < rozmiarB); i++) { if(tablicaA[i] <= tablicaB[i]) tablicaC[i] = tablicaA[i]; else tablicaC[i] = tablicaB[i]; } } int wyliczKrotnoscElementu(int* tablica, const int rozmiar, int element) { int tmp = 0; for(int i = 0; i < rozmiar; i++) { if(tablica[i] == element) tmp++; } return tmp; } double wyliczSredniaArytmetyczna(int* tablica, const int rozmiar) { double wynik = 0; for(int i = 0; i < rozmiar; i++) { wynik += tablica[i]; } return wynik / rozmiar; }