Задача:
Напишите программу которая создает антисимметричную матрицу размера N, заполненную случайными числами. Антисимметричная матрица: Aij=-Aji
Алгоритм примерно такой: Спрашиваем у пользователя, какого размера матрицу он бы хотел видеть. Стандартно всё заполняем случайными числами. После этих операций инициируем еще циклы, в которых изменяем значения
первое:
[cpp]
if(i==j){
numbers[i][j]=0;
}
[/cpp]
Сделать по главной диагонали нули.
И нужно еще сделать симметрию:
[cpp]
numbers[i][j]=-numbers[j][i];
[/cpp]
Это просто транспонированная матрица, к которой прибавлен знак минус.
Весь код:
[cpp]
#include «stdafx.h»
#include <stdio.h>
#include <locale.h>
#include <math.h>
#include <stdlib.h>
int main() {
int N;
printf(«Vvedite chislo N:\n»);
scanf(«%d», &N);
int tmp;
int numbers[100][100];
for (int i=0; i<N; i++) {
for (int j=0; j<N; j++) {
numbers[i][j] = rand()%10;
}
}
for (int i=0; i<N; i++) {
for (int j=0; j<N; j++) {
if(i==j){
numbers[i][j]=0;
}
numbers[i][j]=-numbers[j][i];
}
}
printf(«\nMatrica:\n»);
for (int i=0; i<N; i++) {
for (int j=0; j<N; j++) {
printf(«%3d «, numbers[i][j]);
}
printf(«\n»);
}
}
[/cpp]
Надо циклами делать. Так любой дурак может. А попробуйте алгоритм построить.