Advertisement
MeShootIn

3

Feb 28th, 2018
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.42 KB | None | 0 0
  1. /*
  2. ЛАБОРАТОРНАЯ РАБОТА № 3
  3. ВАРИАНТ 20
  4. ВЫПОЛНИЛ: ДМИТРИЙ МИШУТИН КЭ - 101
  5. */
  6.  
  7. #include <stdio.h>
  8. #include <iostream>
  9. #include <stdlib.h>
  10. #include <time.h>
  11.  
  12. using namespace std;
  13.  
  14. int main(){
  15.     setlocale(0, "");
  16.    
  17.     const int N = 15;
  18.     int * arr[N]; // массив указателей
  19.     for(int i = 0; i < N; i++){
  20.         arr[i] = (int *) malloc(N * sizeof(int)); // выделение памяти для массивов
  21.     }
  22.    
  23.     int string_i;
  24.     printf("Введите i (номер строки от 1 до 15):\n");
  25.     scanf("%d", &string_i);
  26.     string_i--;
  27.    
  28.     int sum_diagonal = 0; // сумма главной диагонали
  29.     int sum_string = 0; // сумма определённой строки
  30.     srand(time(0)); // функция для генерации разных случайных чисел
  31.    
  32.     printf("Матрица:\n");
  33.     for(int i = 0; i < N; i++){
  34.         for(int j = 0; j < N; j++){
  35.             arr[i][j] = rand() % 61 + 40; // случайные значения 40 .. 100
  36.             if(i == j){
  37.                 sum_diagonal += arr[i][j];
  38.             }
  39.             if(i == string_i){
  40.                 sum_string += arr[i][j];
  41.             }
  42.             printf("%3d ", arr[i][j]);
  43.         }
  44.         printf("\n");
  45.     }
  46.    
  47.     printf("Полученное произведение = %d\n", sum_diagonal * sum_string);
  48.    
  49.     for(int i = 0; i < N; i++){ // освобождение памяти
  50.         free(arr[i]);
  51.     }
  52.    
  53.     system("PAUSE");
  54.     return 0;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement