Advertisement
Guest User

Untitled

a guest
Nov 15th, 2019
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.77 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <locale.h>
  4. #define colCount 3
  5.  
  6. int main()
  7. {
  8.     int** examMatrix;
  9.     int rowCount;
  10.     int row, col;
  11.     setlocale(LC_ALL, "rus");
  12.     printf("введите количество студентов: ");
  13.     scanf("%d", &rowCount);
  14.     examMatrix = (int**)malloc(sizeof(int*) * rowCount);
  15.     if(examMatrix == NULL)
  16.     {
  17.         return 5;
  18.     }
  19.     for(row = 0; row < rowCount; ++row)
  20.         examMatrix[row] = (int*)malloc(sizeof(int) * colCount);
  21.         if(examMatrix[row] == NULL)
  22.         {
  23.             for(--row; row >= 0; row--)
  24.             {
  25.                 free(examMatrix[row]);
  26.             }
  27.             free(examMatrix);
  28.             return 5;
  29.         }
  30.     printf("введите оценки по каждому экзамену. столбцы - экзамены, строки - студенты:\n");
  31.     for(row = 0; row < rowCount; ++row)
  32.     {
  33.         for(col = 0; col < colCount; col++)
  34.         {
  35.             scanf("%d", &examMatrix[row][col]);
  36.         }
  37.     }
  38.     int grades[colCount][5] = { 0 };
  39.     for(row = 0; row < rowCount; ++row)
  40.     {
  41.         for(col = 0; col < colCount; ++col)
  42.         {
  43.             grades[col][examMatrix[row][col] - 1]++;
  44.         }
  45.     }
  46.     printf("\nоценки:\n");
  47.     char* gradeStrings[] = {"неявка", "неудовлетворительно", "удовлетворительно", "хорошо", "отлично"};
  48.     for(col = 0; col < colCount; col++)
  49.     {
  50.         printf("\nоценки по предмету %d:", col);
  51.         for(row = 0; row < 5; row++)
  52.         {
  53.             printf("%s - %d, ", gradeStrings[row], grades[col][row]);
  54.         }
  55.         printf("\n");
  56.     }
  57.     for(row = 0; row < rowCount; row++)
  58.     {
  59.         free(examMatrix[row]);
  60.     }
  61.     free(examMatrix);
  62.     return 0;
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement