Вычислите матрицы S(N, М) и R(N, М), являющиеся суммой и разностью целочисленных матриц А (N, М) и В (N, М).
Буду Благодарен!) Можно код по проще, а то спалят)
C/C++
Написать код с массивом на С++
Написал две программы. Выбирай любую
// со случайными числами
#include <iostream>
#include <iomanip>
#include <ctime>
using namespace std;
int main() {
const int N = 4, M = 5;
int a[N][M], b[N][M], s[N][M], r[N][M];
srand(time(0));
for (int i = 0; i < N; ++i) {
for (int j = 0; j < M; ++j) {
a[i][j] = rand() % 50 + 1;
b[i][j] = rand() % 50 + 1;
}
}
cout << "Matrix 1:\n";
for (int i = 0; i < N; ++i) {
for (int j = 0; j < M; ++j) {
cout << setw(5) << a[i][j];
}
cout << "\n";
}
cout << "\nMatrix 2:\n";
for (int i = 0; i < N; ++i) {
for (int j = 0; j < M; ++j) {
cout << setw(5) << b[i][j];
}
cout << "\n";
}
cout << "\nSum:\n";
for (int i = 0; i < N; ++i) {
for (int j = 0; j < M; ++j) {
cout << setw(5) << (s[i][j] = a[i][j] + b[i][j]);
}
cout << "\n";
}
cout << "\nDifference:\n";
for (int i = 0; i < N; ++i) {
for (int j = 0; j < M; ++j) {
cout << setw(5) << (r[i][j] = a[i][j] - b[i][j]);
}
cout << "\n";
}
return 0;
}
// ввод с консоли
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int a[50][50], b[50][50], s[50][50], r[50][50];
int row, column;
cout << "Enter a number rows: ";
cin >> row;
cout << "Enter a number columns: ";
cin >> column;
cout << "\nEnter the matrix 1:\n";
for (int i = 0; i < row; ++i) {
for (int j = 0; j < column; ++j) {
cout << "a[" << i << "][" << j << "] = ";
cin >> a[i][j];
}
}
cout << "\nEnter the matrix 2:\n";
for (int i = 0; i < row; ++i) {
for (int j = 0; j < column; ++j) {
cout << "b[" << i << "][" << j << "] = ";
cin >> b[i][j];
}
}
cout << "\nMatrix 1:\n";
for (int i = 0; i < row; ++i) {
for (int j = 0; j < column; ++j) {
cout << setw(5) << a[i][j];
}
cout << "\n";
}
cout << "\nMatrix 2:\n";
for (int i = 0; i < row; ++i) {
for (int j = 0; j < column; ++j) {
cout << setw(5) << b[i][j];
}
cout << "\n";
}
cout << "\nSum:\n";
for (int i = 0; i < row; ++i) {
for (int j = 0; j < column; ++j) {
cout << setw(5) << (s[i][j] = a[i][j] + b[i][j]);
}
cout << "\n";
}
cout << "\nDifference:\n";
for (int i = 0; i < row; ++i) {
for (int j = 0; j < column; ++j) {
cout << setw(5) << (r[i][j] = a[i][j] - b[i][j]);
}
cout << "\n";
}
return 0;
}
// со случайными числами
#include <iostream>
#include <iomanip>
#include <ctime>
using namespace std;
int main() {
const int N = 4, M = 5;
int a[N][M], b[N][M], s[N][M], r[N][M];
srand(time(0));
for (int i = 0; i < N; ++i) {
for (int j = 0; j < M; ++j) {
a[i][j] = rand() % 50 + 1;
b[i][j] = rand() % 50 + 1;
}
}
cout << "Matrix 1:\n";
for (int i = 0; i < N; ++i) {
for (int j = 0; j < M; ++j) {
cout << setw(5) << a[i][j];
}
cout << "\n";
}
cout << "\nMatrix 2:\n";
for (int i = 0; i < N; ++i) {
for (int j = 0; j < M; ++j) {
cout << setw(5) << b[i][j];
}
cout << "\n";
}
cout << "\nSum:\n";
for (int i = 0; i < N; ++i) {
for (int j = 0; j < M; ++j) {
cout << setw(5) << (s[i][j] = a[i][j] + b[i][j]);
}
cout << "\n";
}
cout << "\nDifference:\n";
for (int i = 0; i < N; ++i) {
for (int j = 0; j < M; ++j) {
cout << setw(5) << (r[i][j] = a[i][j] - b[i][j]);
}
cout << "\n";
}
return 0;
}
// ввод с консоли
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int a[50][50], b[50][50], s[50][50], r[50][50];
int row, column;
cout << "Enter a number rows: ";
cin >> row;
cout << "Enter a number columns: ";
cin >> column;
cout << "\nEnter the matrix 1:\n";
for (int i = 0; i < row; ++i) {
for (int j = 0; j < column; ++j) {
cout << "a[" << i << "][" << j << "] = ";
cin >> a[i][j];
}
}
cout << "\nEnter the matrix 2:\n";
for (int i = 0; i < row; ++i) {
for (int j = 0; j < column; ++j) {
cout << "b[" << i << "][" << j << "] = ";
cin >> b[i][j];
}
}
cout << "\nMatrix 1:\n";
for (int i = 0; i < row; ++i) {
for (int j = 0; j < column; ++j) {
cout << setw(5) << a[i][j];
}
cout << "\n";
}
cout << "\nMatrix 2:\n";
for (int i = 0; i < row; ++i) {
for (int j = 0; j < column; ++j) {
cout << setw(5) << b[i][j];
}
cout << "\n";
}
cout << "\nSum:\n";
for (int i = 0; i < row; ++i) {
for (int j = 0; j < column; ++j) {
cout << setw(5) << (s[i][j] = a[i][j] + b[i][j]);
}
cout << "\n";
}
cout << "\nDifference:\n";
for (int i = 0; i < row; ++i) {
for (int j = 0; j < column; ++j) {
cout << setw(5) << (r[i][j] = a[i][j] - b[i][j]);
}
cout << "\n";
}
return 0;
}
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<unistd.h>
int main()
{
int N,M,flag=0;
printf("\n Enter count of columns - N = ");scanf("%d",&N);
printf("\n Enter count of rows - M = ");scanf("%d",&M);
srand(time(NULL));
/*создаем динамические массивы: */
int** A=(int**)malloc(N*sizeof(int*));//столбцы или указатели на строки
int** B=(int**)malloc(N*sizeof(int*));
int** S=(int**)malloc(N*sizeof(int*));
int** R=(int**)malloc(N*sizeof(int*));
if(A&&B&&S&&R) /*если созданы все указатели на строки массива*/
{//if A&&B&&S&&R
for(int i=0;i<M;i++)
{//for
A[i]=(int*)malloc(M*sizeof(int));/*создаем строки для A*/
B[i]=(int*)malloc(M*sizeof(int));/*создаем строки для B*/
S[i]=(int*)malloc(M*sizeof(int));/*создаем строки для S*/
R[i]=(int*)malloc(M*sizeof(int));/*создаем строки для R*/
/*если одна из строк не создана, то flag=1 */
if(!A[i]&&!B[i]&&!S[i]&&!R[i]) flag=1;
}//for
if(!flag)//если все строки созданы
{//if! flag
/* заполняем матрицы случайными значениями: */
for(int i=0;i<N;i++)
for(int j=0;j<M;j++)
{//for j
if(rand()%2==0) A[j][i]=(-1)*(rand()%10);
else A[j][i]=rand()%10;
if(rand()%2==0) B[j][i]=(-1)*(rand()%10);
else B[j][i]=rand()%10;
}//for j
printf("\n Matrix A is:\n");
for(int j=0;j<M;j++)
{
for(int i=0;i<N;i++)
{
printf("A[%d][%d]=%d ",j,i,A[j][i]);
}
printf("\n");
}
printf("\n Matrix B is:\n");
for(int j=0;j<M;j++)
{
for(int i=0;i<N;i++)
{
printf("B[%d][%d]=%d ",j,i,B[j][i]);
}
printf("\n");
}
/*складываем матрицы: */
printf("\n Matrix A + Matrix B is:\n");
for(int j=0;j<M;j++)
{
for(int i=0;i<N;i++)
{
S[j][i]=A[j][i]+B[j][i];
printf("S[%d][%d]=%d ",j,i,S[j][i]);
}
printf("\n");
}
/*вычитаем матрицы: */
printf("\n Matrix A - Matrix B is:\n");
for(int j=0;j<M;j++)
{
for(int i=0;i<N;i++)
{
R[j][i]=A[j][i]-B[j][i];
printf("R[%d][%d]=%d ",j,i,R[j][i]);
}
printf("\n");
}
for(int i=0;i<M;i++)
{//for
/*освобождаем память от строк: */
free(A[i]);
free(B[i]);
free(S[i]);
free(R[i]);
}//for
}//if! flag
/*освобождаем память от столбцов/указателей на строки: */
free(A);
free(B);
free(S);
free(R);
}//if A&&B&&S&&R
printf("\n\n");
sleep(10);
return 0;
}

#include<stdlib.h>
#include<time.h>
#include<unistd.h>
int main()
{
int N,M,flag=0;
printf("\n Enter count of columns - N = ");scanf("%d",&N);
printf("\n Enter count of rows - M = ");scanf("%d",&M);
srand(time(NULL));
/*создаем динамические массивы: */
int** A=(int**)malloc(N*sizeof(int*));//столбцы или указатели на строки
int** B=(int**)malloc(N*sizeof(int*));
int** S=(int**)malloc(N*sizeof(int*));
int** R=(int**)malloc(N*sizeof(int*));
if(A&&B&&S&&R) /*если созданы все указатели на строки массива*/
{//if A&&B&&S&&R
for(int i=0;i<M;i++)
{//for
A[i]=(int*)malloc(M*sizeof(int));/*создаем строки для A*/
B[i]=(int*)malloc(M*sizeof(int));/*создаем строки для B*/
S[i]=(int*)malloc(M*sizeof(int));/*создаем строки для S*/
R[i]=(int*)malloc(M*sizeof(int));/*создаем строки для R*/
/*если одна из строк не создана, то flag=1 */
if(!A[i]&&!B[i]&&!S[i]&&!R[i]) flag=1;
}//for
if(!flag)//если все строки созданы
{//if! flag
/* заполняем матрицы случайными значениями: */
for(int i=0;i<N;i++)
for(int j=0;j<M;j++)
{//for j
if(rand()%2==0) A[j][i]=(-1)*(rand()%10);
else A[j][i]=rand()%10;
if(rand()%2==0) B[j][i]=(-1)*(rand()%10);
else B[j][i]=rand()%10;
}//for j
printf("\n Matrix A is:\n");
for(int j=0;j<M;j++)
{
for(int i=0;i<N;i++)
{
printf("A[%d][%d]=%d ",j,i,A[j][i]);
}
printf("\n");
}
printf("\n Matrix B is:\n");
for(int j=0;j<M;j++)
{
for(int i=0;i<N;i++)
{
printf("B[%d][%d]=%d ",j,i,B[j][i]);
}
printf("\n");
}
/*складываем матрицы: */
printf("\n Matrix A + Matrix B is:\n");
for(int j=0;j<M;j++)
{
for(int i=0;i<N;i++)
{
S[j][i]=A[j][i]+B[j][i];
printf("S[%d][%d]=%d ",j,i,S[j][i]);
}
printf("\n");
}
/*вычитаем матрицы: */
printf("\n Matrix A - Matrix B is:\n");
for(int j=0;j<M;j++)
{
for(int i=0;i<N;i++)
{
R[j][i]=A[j][i]-B[j][i];
printf("R[%d][%d]=%d ",j,i,R[j][i]);
}
printf("\n");
}
for(int i=0;i<M;i++)
{//for
/*освобождаем память от строк: */
free(A[i]);
free(B[i]);
free(S[i]);
free(R[i]);
}//for
}//if! flag
/*освобождаем память от столбцов/указателей на строки: */
free(A);
free(B);
free(S);
free(R);
}//if A&&B&&S&&R
printf("\n\n");
sleep(10);
return 0;
}

#include <stdio.h>
#include <conio.h>
void arr_gen(int* A, int n, int m);
void print(int* A, int n, int m);
void sum(int* A, int* B, int* C, int n, int m);
void dif(int* A, int* B, int* C, int n, int m);
int main()
{
#define N 3
#define M 5
int A[(N + 1) * (M + 1)];
int B[(N + 1) * (M + 1)];
int S[(N + 1) * (M + 1)];
int R[(N + 1) * (M + 1)];
srand(time(0));
printf("A:\n");
arr_gen(A, N, M);
print(A, N, M);
printf("B:\n");
arr_gen(B, N, M);
print(B, N, M);
printf("A + B:\n");
sum(A, B, S, N, M);
print(S, N, M);
printf("A - B:\n");
dif(A, B, R, N, M);
print(R, N, M);
printf("Press any key for continue...");
getch();
return 0;
}
void arr_gen(int* A, int n, int m)
{
int i, j;
for(i = 1; i <= n; i++)
for(j = 1; j <= m; j++)
A[i * m + j] = 1 + rand()%10;
}
void print(int *A, int n, int m)
{
int i, j;
for(i = 1; i <= n; i++)
{
for(j = 1; j <= m; j++)
printf("%3d", A[i * m + j]);
printf("\n");
}printf("\n");
}
void sum(int *A, int *B, int *C, int n, int m)
{
int i, j;
for(i = 1; i <= n; i++)
for(j = 1; j <= m; j++)
C[i * m + j] = A[i * m + j] + B[i * m + j];
}
void dif(int *A, int *B, int *C, int n, int m)
{
int i, j;
for(i = 1; i <= n; i++)
for(j = 1; j <= m; j++)
C[i * m + j] = A[i * m + j] - B[i * m + j];
}
#include <conio.h>
void arr_gen(int* A, int n, int m);
void print(int* A, int n, int m);
void sum(int* A, int* B, int* C, int n, int m);
void dif(int* A, int* B, int* C, int n, int m);
int main()
{
#define N 3
#define M 5
int A[(N + 1) * (M + 1)];
int B[(N + 1) * (M + 1)];
int S[(N + 1) * (M + 1)];
int R[(N + 1) * (M + 1)];
srand(time(0));
printf("A:\n");
arr_gen(A, N, M);
print(A, N, M);
printf("B:\n");
arr_gen(B, N, M);
print(B, N, M);
printf("A + B:\n");
sum(A, B, S, N, M);
print(S, N, M);
printf("A - B:\n");
dif(A, B, R, N, M);
print(R, N, M);
printf("Press any key for continue...");
getch();
return 0;
}
void arr_gen(int* A, int n, int m)
{
int i, j;
for(i = 1; i <= n; i++)
for(j = 1; j <= m; j++)
A[i * m + j] = 1 + rand()%10;
}
void print(int *A, int n, int m)
{
int i, j;
for(i = 1; i <= n; i++)
{
for(j = 1; j <= m; j++)
printf("%3d", A[i * m + j]);
printf("\n");
}printf("\n");
}
void sum(int *A, int *B, int *C, int n, int m)
{
int i, j;
for(i = 1; i <= n; i++)
for(j = 1; j <= m; j++)
C[i * m + j] = A[i * m + j] + B[i * m + j];
}
void dif(int *A, int *B, int *C, int n, int m)
{
int i, j;
for(i = 1; i <= n; i++)
for(j = 1; j <= m; j++)
C[i * m + j] = A[i * m + j] - B[i * m + j];
}
Похожие вопросы
- Помогите дописать код с массивом C++
- Помогите дописать код с массивом c++
- Написать код на С++ в одномерном массиве
- Помогите дописать код с массивом
- Помогите дописать код с массивом?
- Написать код на языке си
- Напишите программу, статич. массив
- Помогите пожалуйста написать код.(C++)
- Написал код для языка C, но работает не правильно
- Написать код на языке C++