Получить две новые матрицы С и D, такие, что в С будут элементы матриц А и В, которые больше заданного числа - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Даны две матрицы - А и B. C клавиатуры вводится число P. Мы должны получить две новые матрицы С и D, такие, что в С будут элементы матриц А и В, которые больше заданного числа Р. А в матрице D будут все отрицательные элементы матриц А и B.
#include <stdio.h>
int main() {
int a[3][3];
int b[3][3];
int c[3][3];
int d[3][3];
int p;
int j,i,k,k1,g,g1;
 
for (i = 0; i < 3; i = i + 1) {                              // ввод массива А
    for (j = 0; j < 3; j = j + 1) {
       a[i][j]=-20 + random(41);
    }
}
for (i = 0; i < 3; i = i + 1) {                         // вывод массива А
        printf("\n");
    for (j = 0; j < 3; j = j + 1) {
        printf("%d\t",a[i][j]);
    }
}
for (i = 0; i < 3; i = i + 1) {                              // ввод массива В
    for (j = 0; j < 3; j = j + 1) {
     b[i][j]=-20 + random(41);
    }
}
for (i = 0; i < 3; i = i + 1) {                         // вывод массива В
        printf("\n");
    for (j = 0; j < 3; j = j + 1) {
        printf("%d\t",b[i][j]);
    }
}
for (i = 0; i < 3; i = i + 1) {                             
    for (j = 0; j < 3; j = j + 1) {                        // условие для вывода матрицы С - где k-новый счетчик
if (a[i][j]>p) {c[i][j]==a[i][j]; k++;}
}
}
for (i = 0; i < 3; i = i + 1) {                              
    for (j = 0; j < 3; j = j + 1) {
if (b[i][j]>p) {c[i][j]==b[i][j]; k1++;}
}
}
 
for (i = 0; i < (k1+k); i = i + 1) {                         // вывод массива C, где k1+k - новая размерность
        printf("\n");
    for (j = 0; j < (k1+k); j = j + 1) {
        printf("%d\t",c[i][j]);
    }
}
}
После запуска программа вылетает. Подскажите, почему?

Решение задачи: «Получить две новые матрицы С и D, такие, что в С будут элементы матриц А и В, которые больше заданного числа»

textual
Листинг программы
for (i = 0; i < 3; i = i + 1) {                         // вывод массива C, где k1+k - новая размерность
        printf("\n");
    for (j = 0; j < 3; j = j + 1) {
        printf("%d\t",c[i][j]);
    }
}

Объяснение кода листинга программы

В данном коде на языке C выполняется следующая последовательность действий:

  1. Создается цикл for, который выполняет три итерации (так как начальное значение i равно 0, а i = i + 1 происходит после каждой итерации, то количество итераций равно 3).
  2. Внутри цикла выводится строка новой размерности массива C с помощью функции printf.
  3. В каждой итерации цикла выводятся элементы массива C с помощью функции printf.
  4. Значение i не равно 3, поэтому цикл продолжается.
  5. После выполнения цикла выводится символ \n для перехода на новую строку.
  6. Значение i равно 3, поэтому цикл завершается. В результате выполнения данного кода на экран будет выведена новая размерность массива C и его элементы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.333 из 5
Похожие ответы