/
bvs22
/
eltex
Обзор
Документация
Войти
/
bvs22
/
eltex
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
3-pointer*/3ex.c
78 строк
1 KB
bvs22
create 3-pointer*/3ex.c
13 ноя 2024, 18:27
13 ноя 2024, 18:27
650a06c
Код
Авторство
О чём код?
#include <stdio.h> #include <time.h> #include <malloc.h> #include <stdlib.h> int main() { int **matrix; int *ptr; int sum = 0; unsigned int a = 0, b = 0; printf("Введите размер матрицы(два числа): "); scanf("%d %d", &a, &b); matrix = (int **)malloc(sizeof(int *) * a); if(matrix == NULL) { printf("Ошибка выделения памяти.\n"); return 1; } for(int i = 0; i < a; i++) { matrix[i] = malloc(sizeof(int) * b); if(matrix[i] == NULL) { for(int j = 0; j < i; j++) { free(matrix[j]); } free(matrix); printf("Ошибка выделения памяти.\n"); return 1; } } srand(time(NULL)); for(int i = 0; i < a; i++) { ptr = matrix[i]; for(int j = 0; j < b; j++) { *(ptr + j) = rand() % 10; } } for(int i = 0; i < a; i++) { ptr = matrix[i]; for(int j = 0; j < b; j++) { printf("%d ", *(ptr + j)); } printf("\n"); } for(int i = 0; i < a; i++) { ptr = matrix[i]; for(int j = 0; j < b; j++) { sum = sum + *ptr; ptr++; } } printf("%d\n", sum); for(int i = 0; i < a; i++) { free(matrix[i]); } free(matrix); return 0; }