Найти, сколько отрицательных элементов содержит данная матрица в каждом столбце - C (СИ)
Формулировка задачи:
Листинг программы
- #include <stdio.h>
- #include <locale.h>
- #include <stdlib.h>
- #include <time.h>
- #include <conio.h>
- int main()
- {
- const int a = 4, b = 4;
- int mas2[4][4], mas1[4] = {0}, i, j;
- do
- {
- setlocale(LC_ALL, "rus");
- printf("Найти, сколько отрицательных элементов содержит данная матрица в каждом столбце\n");
- srand((unsigned)time(0));
- for(i=0;i<4;i++)
- {
- mas1[i]=0;
- }
- for(i = 0; i < a; i++)
- {
- for(j = 0; j < b; j++)
- mas2[i][j] = rand() % 101 - 50;
- }
- printf( "Матрица\n");
- for(i = 0; i < a; i++)
- {
- for(j = 0; j < b; j++)
- printf(" %4d ", mas2[i][j]);
- printf(" \n");
- }
- for(j = 0; j < b; j++)
- {
- for(i = 0; i < a; i++)
- {
- if(mas2[i][j] < 0)
- mas1[j]++;
- }
- }
- printf("Число отриц. элементов\n");
- for(j = 0; j < b; j++)
- printf("%d ", mas1[j]);
- }
- while(getch()!=27);
- }
Решение задачи: «Найти, сколько отрицательных элементов содержит данная матрица в каждом столбце»
textual
Листинг программы
- int **mas2, i;
- mas2 = (int**)malloc(sizeof(int*)*4);
- if(0 == mas2){/*обработать нехватку памяти*/};
- for(i = 0; i < 4; i += 1) {
- mas2[i] = (int*)malloc(sizeof(int)*4);
- if(0 == mas2[i]){/*обработать нехватку памяти*/};
- }
- //код программы
- for(i = 0; i < 4; i += 1) { // про то, что удалять нужно именно так, обычно забывают
- free(mas2[i]);
- }
- free(mas2);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д