viteka32

Pole a funkce

Oct 11th, 2021
603
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2.  
  3. #define VELIKOST_POLE 5
  4.  
  5. void vypisPole(int pole[], const int velikost);
  6. void soucetPoli(int vysledek[], int pole1[], int pole2[], const int velikost);
  7. int nactiCeleCislo();
  8.  
  9. int main()
  10. {
  11.     // vytvoreni poli
  12.     int pole1[VELIKOST_POLE];
  13.     int pole2[VELIKOST_POLE] = {4,8,10,2,4};
  14.  
  15.     // naplneni poli od uzivatele
  16.     printf("Zadejte hodnoty pole 1:\n");
  17.     for(int i = 0; i < VELIKOST_POLE; i++){
  18.         printf("Hodnota pole1[%d]: ", i);
  19.         pole1[i] = nactiCeleCislo();
  20.     }
  21.  
  22.     printf("Zadejte hodnoty pole 2:\n");
  23.     for(int i = 0; i < VELIKOST_POLE; i++){
  24.         printf("Hodnota pole2[%d]: ", i);
  25.         pole2[i] = nactiCeleCislo();
  26.     }
  27.     // vypis obou poli
  28.     printf("Hodnoty v poli1: \n");
  29.     vypisPole(pole1, VELIKOST_POLE);
  30.     printf("Hodnoty v poli2: \n");
  31.     vypisPole(pole2, VELIKOST_POLE);
  32.  
  33.     // zjisteni typu operace
  34.     printf("Zadejte: \n"
  35.            "1 - soucet poli\n"
  36.            "2 - rozdil poli\n"
  37.            "3 - nasobeni poli\n"
  38.            "4 - deleni poli\n"
  39.            "cokoliv jineho ukonceni programu\n");
  40.     char nactenyZnak;
  41.     // vyprazdneni vstupu konzole
  42.     while(getchar() != '\n');
  43.     // nacteni znaku od uzivatele
  44.     scanf("%c", &nactenyZnak);
  45.     // operace s polemi
  46.     int poleVysledek[VELIKOST_POLE];
  47.     switch (nactenyZnak) {
  48.     case '1':
  49.         soucetPoli(poleVysledek, pole1, pole2, VELIKOST_POLE);
  50.         break;
  51.     default:
  52.         printf("ukoncuji program\n");
  53.         return 0;
  54.         break;
  55.     }
  56.  
  57.     // vypis vysledku
  58.     printf("Vypis vysledku: \n");
  59.     vypisPole(poleVysledek, VELIKOST_POLE);
  60.     return 0;
  61. }
  62.  
  63. void vypisPole(int pole[], const int velikost)
  64. {
  65.     for(int i = 0; i < velikost; i++){
  66.         printf("%d ", pole[i]);
  67.     }
  68.     printf("\n");
  69. }
  70.  
  71. int nactiCeleCislo()
  72. {
  73.     int cislo;
  74.     while(scanf("%d", &cislo) != 1)
  75.     {
  76.         printf("Chyba, nekorektni vstup, zadejte znovu: ");
  77.         while(getchar() != '\n');
  78.     }
  79.     return cislo;
  80. }
  81.  
  82. void soucetPoli(int vysledek[], int pole1[], int pole2[], const int velikost)
  83. {
  84.     for(int i = 0; i < velikost; i++){
  85.         vysledek[i] = pole1[i] + pole2[i];
  86.     }
  87. }
RAW Paste Data