C/C++
Помогите с заданием с матрицей, С++
Дана матрица А(6,6).Определить является ли она симметричной относительно главной диагонали. Если да, то все элементы этой диагонали заменить нулями.
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define n 6
#define limit 10
int main()
{
int A[n][n];
char flag=0;
printf("Matrix elements A[%d][%d]:\n",n,n);
srand(time(NULL));
if(rand()%2==0)
{//if
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
{
A[i][j] = rand()%limit;
printf("%3d",A[i][j]);
}
printf("\n");
}
}//if
else
{//else делаем симметрию для примера
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
{
if(i!=j) A[i][j] = 5;
else
A[i][j] = rand()%limit;
printf("%3d",A[i][j]);
}
printf("\n");
}
}//else
//проверка матрицы на симметрию:
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
{
if(A[i][j]==A[j][i]) flag=0;
else {flag=1; break;}
}
if(flag)
printf("\nThis is not symmetrical matrix");
else
printf("\nThis is symmetrical matrix");
system("pause"); //для Windows
return 0;
}


#include<stdlib.h>
#include<time.h>
#define n 6
#define limit 10
int main()
{
int A[n][n];
char flag=0;
printf("Matrix elements A[%d][%d]:\n",n,n);
srand(time(NULL));
if(rand()%2==0)
{//if
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
{
A[i][j] = rand()%limit;
printf("%3d",A[i][j]);
}
printf("\n");
}
}//if
else
{//else делаем симметрию для примера
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
{
if(i!=j) A[i][j] = 5;
else
A[i][j] = rand()%limit;
printf("%3d",A[i][j]);
}
printf("\n");
}
}//else
//проверка матрицы на симметрию:
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
{
if(A[i][j]==A[j][i]) flag=0;
else {flag=1; break;}
}
if(flag)
printf("\nThis is not symmetrical matrix");
else
printf("\nThis is symmetrical matrix");
system("pause"); //для Windows
return 0;
}


#include <iomanip>
#include <iostream>
using namespace std; int digits(int n)
{ int k = 1; if (n < 0) { n = -n; k++; } while (n)
{ n /= 10; k++; } return k; }
int main()
{ string red = "\033[31m",
magenta = "\033[35m";
int i, j, k = 1, l, a[6][6], max;
for (;;) { max = 0; cout << magenta << endl;
for (i = 0; i < 6; i++) for (j = 0; j < 6; j++)
{ cin >> a[i][j]; l = digits(a[i][j]);
if (l > max) max = l; } for (i = 0; i < 6; i++)
for (j = i + 1; j < 6; j++) if (a[i][j] != a[j][i])
{ k = 0; break; } cout << red << endl; if (k)
{ for (i = 0; i < 6; i++) { for (j = 0; j < 6; j++)
{ a[i][j] = 0; cout << setw(2) << a[i][j]; }
cout << endl; } } else { for (i = 0; i < 6; i++)
{ for (j = 0; j < 6; j++) cout << setw(max)
<< a[i][j]; cout << endl; } } } }

#include <iostream>
using namespace std; int digits(int n)
{ int k = 1; if (n < 0) { n = -n; k++; } while (n)
{ n /= 10; k++; } return k; }
int main()
{ string red = "\033[31m",
magenta = "\033[35m";
int i, j, k = 1, l, a[6][6], max;
for (;;) { max = 0; cout << magenta << endl;
for (i = 0; i < 6; i++) for (j = 0; j < 6; j++)
{ cin >> a[i][j]; l = digits(a[i][j]);
if (l > max) max = l; } for (i = 0; i < 6; i++)
for (j = i + 1; j < 6; j++) if (a[i][j] != a[j][i])
{ k = 0; break; } cout << red << endl; if (k)
{ for (i = 0; i < 6; i++) { for (j = 0; j < 6; j++)
{ a[i][j] = 0; cout << setw(2) << a[i][j]; }
cout << endl; } } else { for (i = 0; i < 6; i++)
{ for (j = 0; j < 6; j++) cout << setw(max)
<< a[i][j]; cout << endl; } } } }

Матрица
Похожие вопросы
- Помогите пожалуйста с 2меррый Матрицами .В языке С
- Помогите с заданием по программированию язык C(не С++)
- Помогите понять задание С++
- Помогите сделать задания в С++
- Помогите решить задание на c++
- Помогите с заданием по программированию, С++, напишите код для 1 курса
- Помогите с заданием на С++
- Помогите решить задание на C++
- Доброго всем дня. Помогите с заданием по программированию С++ (Программа Dev-C++)
- Помогите в с++ с матрицей