Guest User

Untitled

a guest
Apr 19th, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.27 KB | None | 0 0
  1. // Dołączamy bibliotekę Input/Output Stream (do funkcji wyświetlania i pobierania danych cin i cout).
  2. #include <iostream>  
  3.  
  4. // Ustalamy strefę nazw na STD (czyli ten tzw. alfabet).
  5. using namespace std;
  6.  
  7. // Definiujemy funkcję, które później dokładnie opiszemy - do wyświetlania zawartości DOWOLNEJ tablicy, do sumowania dwóch DOWOLNYCH tablic i do znajdowania wartości MAX, MIN i Średniej (avg) DOWOLNEJ tablicy:
  8. void wyswietlTablice (int tab[]);
  9. void znajdzWartosci (int tab[]);
  10. void sumujTablice(int arrayA[], int arrayB[]);
  11.  
  12. // Definiujemy zmienne, które będziemy używać w programie - odpowiednio tablice: pierwsza, druga, tablice przechowującą sumę, oraz tablicę do MAX/MIN/Średniej.
  13. int tab1[8], tab2[8], sumaTablic[8], minMaxAvg[3];
  14.  
  15.  
  16. //Rozpoczynamy główną część programu - funkcja main()
  17. int main ()
  18. {
  19.     //W tej pętli for pobieramy z klawiatury wartości, które mają się znaleźć w naszych wejściowych tablicach.
  20.     for (int i=0; i<8; i++)
  21.     {
  22.        
  23.         cout << "Podaj " << i+1 << " element  pierwszej tablicy: ";
  24.         cin >> tab1[i];        
  25.         cout << "Podaj " << i+1 << " element  drugiej tablicy: ";
  26.         cin >> tab2[i];
  27.         cout << endl;
  28.        
  29.     }
  30.    
  31.     // Gdy zostaną pobrane wszystkie wartości dla tab1 i tab2 (po 8 dla każdej), wywołujemy funkcję wyswietlTablice() podająć jako argument (to w nawiasie) nazwę tablicy, którą chcemy wyświetlić
  32.     wyswietlTablice(tab1);
  33.     wyswietlTablice(tab2);
  34.    
  35.     cout << "Dodaje tablie tab1 i tab2..." << endl;
  36.    
  37.     // Wywołujemy funkcję sumującą elementy naszych tablic, poprzez funkcję sumujTablice(), podająć jako dwa argumenty, nazwy naszych tablic do zsumowania - tab1 i tab2
  38.     sumujTablice(tab1, tab2);
  39.    
  40.     // Wywołujemy funkcję, która znajdzie poszukiwane wartości - MAX, MIN i Średnią, dla naszej zsumowanej tablicy (poprzez funkcję znajdzWartosci())
  41.    
  42.     znajdzWartosci(sumaTablic);
  43.    
  44.    
  45.     return 0; // Zwracamy 0 -> program zakończył działania poprawnie.
  46. }
  47.  
  48. // Funkcja, wyświetlająca elementy tablicy, którą do niej przekażemy
  49. void wyswietlTablice (int tab[])
  50. {
  51.    
  52.     cout << "Zawartosc tablicy : [ ";
  53.    
  54.     // Pętla for, która działa od 0'wego elementu, do ostatniego elementu podaje tablicy - sizeof(tab) oblicza, ile elementów ma dana tablica. Wypisuje po kolei elementy podanej tablicy.
  55.     for (int i = 0; i < sizeof(tab); i++)
  56.     {
  57.         cout << tab[i] << " ";
  58.     }
  59.    
  60.     cout << "];" << endl;
  61. }
  62. // Funkcja, do sumowania poszczególnych elementów tablic, które przekażemy do niej. Po zsumowaniu, wyświetla otrzymaną tablicę sum.
  63. void sumujTablice(int arrayA[], int arrayB[])
  64. {    
  65.     int tempTab[sizeof(arrayA)];
  66.    
  67.     for(int i = 0; i < sizeof(arrayA); i++)
  68.     {
  69.         sumaTablic[i] = arrayA[i] + arrayB[i]; // Dodaje elementy z dwóch tablic i zapisuje do trzeciej - wynikowej.
  70.     }
  71.    
  72.     wyswietlTablice(sumaTablic);
  73. }
  74.  
  75. // Funkcje szukająca wartości Maksymalnej, Minimalnej i Średniej wszystkich elementów.
  76. void znajdzWartosci (int tab[])
  77. {
  78.     // Definiujemy zmienne, potrzebne do rozwiązania problemu.
  79.     int max, min, avg, temp, size;
  80.    
  81.     size = sizeof(tab);
  82.     temp = 0;
  83.     max = tab[0]; // Przyjmujemy, że pierwszy element tablicy jest maksymalnym.
  84.     min = tab[0]; // Przyjmujemy, że pierwszy element tablicy jest minimalnym.
  85.    
  86.     //Tą pętlą przeszukujemy całą tablicę
  87.     for (int i = 0; i<size; i++)
  88.     {
  89.        
  90.         if (tab[i] > max) max = tab[i]; // Sprawdzamy, czy aktualnie analizowany element, jest większy od MAXwymalnego do tej pory.
  91.         if (tab[i] < min) min = tab[i]; // Sprawdzamy, czy aktualnie analizowany element, jest mniejszy od MINimalnego do tej pory.
  92.        
  93.         temp += tab[i]; // dodajemy aktualny element, w celu ustalenia średniej
  94.        
  95.     }
  96.    
  97.     avg = temp/size; // obliczamy średnią
  98.    
  99.     minMaxAvg[0] = max; // zapisujemy na 0 miejscu tablicy wartość MAX
  100.     minMaxAvg[1] = min; // zapisujemy na 1 miejscy tablicy wartość MIN
  101.     minMaxAvg[2] = avg; // zapisujemy na 2 miejscu tablicy wartość ŚREDNIĄ
  102.    
  103.     cout << "[ MAX / MIN / AVG]" << endl;
  104.    
  105.     // Wyświetlamy wartości tablicy
  106.     wyswietlTablice(minMaxAvg);
  107.    
  108. }
Add Comment
Please, Sign In to add comment