Создать третий массив такого же размера каждый элемент которого равен сумме соответствующих элементов двух первых массивов - C (СИ)

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

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

Даны два двумерных массива одинаковых размеров. а) Создать третий массив такого же размера каждый элемент которого равен сумме соответствующих элементов двух первых массивов. б) Создать третий массив такого же размера, каждый элемент которого равен 100, если соответствующие элементы двух первых массивов имеют одинаковый знак, и равен нулю в противном случае.

Решение задачи: «Создать третий массив такого же размера каждый элемент которого равен сумме соответствующих элементов двух первых массивов»

textual
Листинг программы
#include <stdio.h>
#include <locale.h>
#define N 10
 
int main(void){
    setlocale (LC_ALL, "Ukrainian");
    int i, j, key, a, b;
    int A[N][N], B[N][N], C[N][N];
    
    printf("Êîëè÷åñòâî ðÿäêîâ= ");
    scanf("%d",&a);
    printf("Êîëè÷åñòâî ñòîëáöîâ= ");
    scanf("%d",&b);
    printf("\n Ââîä ýëåìåГ*òîâ Г¬Г*Г±Г±ГЁГўГ* ГЂ: \n");
    for(i = 0; i < a; i++)
          for(j = 0; j < b; j++){
                printf("ÝëåìåГ*ГІ [%d][%d]= ", i + 1, j + 1);
                scanf("%d", &A[i][j]);
          }
    printf("\n Ââîä ýëåìåГ*òîâ Г¬Г*Г±Г±ГЁГўГ* Г‚: \n");
    for(i = 0; i < a; i++)
          for(j = 0; j < b; j++){
                printf("ÝëåìåГ*ГІ [%d][%d]= ", i + 1, j + 1);
                scanf("%d", &B[i][j]);
          }
    printf("\n 1. Г‡Г*Г¤Г*Г·Г* В№1");
    printf("\n 2. Г‡Г*Г¤Г*Г·Г* В№2\n");
    printf("\n Âûáåðè ГЇГіГ*ГЄГІ ìåГ*Гѕ -> ");
    scanf("%d", &key);
    switch(key){
           case 1: 
                for(i = 0; i < a; i++)
                      for(j = 0; j < b; j++)
                            C[i][j] = A[i][j] + B[i][j];
                break;
           case 2:
                for(i = 0; i < a; i++)
                      for(j = 0; j < b; j++){
                            if((A[i][j] >=0 )&&(B[i][j] >= 0)) C[i][j] = 100;
                            else
                              if ((A[i][j] < 0)&&(B[i][j] < 0)) C[i][j] = 100;
                              else
                                C[i][j] = 0;
                      }
                break;
           default: printf("\nГЌГҐГўГҐГ°Г*ûé ГЇГіГ*ГЄГІ ìåГ*Гѕ !!!"); getchar (); getchar (); return 0;
    }
    printf("\n ÑãåГ*åðèðîâГ*Г*Г*ûé òðåòèé Г¬Г*Г±Г±ГЁГў äëÿ Г§Г*Г¤Г*Г·ГЁ В№%d: \n", key);
    for(i = 0; i < a; i++){
          for(j = 0; j < b; j++)
                printf(" %d", C[i][j]);
          printf("\n");
    }
    getchar ();
    getchar ();
    return 0;
}

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

В этом коде на языке C создается третий массив такого же размера, как и первые два, и каждый его элемент вычисляется как сумма соответствующих элементов двух первых массивов. Список действий:

  1. Подключение необходимых библиотек.
  2. Установка размера массивов N.
  3. Ввод значений для первых двух массивов A и B с помощью scanf.
  4. Вычисление значений для третьего массива C с помощью формулы C[i][j] = A[i][j] + B[i][j].
  5. Ввод значения ключа с помощью scanf.
  6. Выбор нужного оператора в зависимости от значения ключа.
  7. Вывод значений третьего массива C с помощью функции printf.
  8. Возврат значения 0, что означает успешный конец работы программы.

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

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