Привести в матрице главную диагональ равную нулям - C (СИ)
Формулировка задачи:
написал следующий код:
должен строить матрицу изчисел диапозона [0;3] допустим матрицу 9х9
а выдает следующее:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
main()
{
int i, j, n;
int a[n][n];
srand(time(NULL));
printf("n="); scanf("%d", &n);
for(i=0; i<n; i++)
for(j=0; j<n; j++)
a[i][j] = rand()%3+0;
printf("%d", &a[i][j]);
system("PAUSE");
}Решение задачи: «Привести в матрице главную диагональ равную нулям»
textual
Листинг программы
#include <stdio.h>
#include <cstdlib>
#include <time.h>
main()
{
int i, j, n;
int a[n][n];
srand(time(NULL));
printf("n="); scanf("%d", &n);
for(i=0; i<n; i++)
{for(j=0; j<n; j++)
{a[i][j]=rand()%3+0;
printf("%d", a[i][j]);}
printf("\n");
}
system("PAUSE");
}
Объяснение кода листинга программы
В этом коде:
- Объявляются переменные i, j, n типа int.
- Объявляется массив a типа int размером n на n.
- Задается начальное значение для генератора случайных чисел с помощью функции srand(time(NULL)).
- Выводится запрос на ввод размера матрицы с помощью функции printf(
n=). - Считывается размер матрицы с помощью функции scanf(
%d, &n). - С помощью двух вложенных циклов for заполняется массив a случайными числами от 0 до 2 (включительно) с помощью функции rand()%3+0.
- С помощью функции printf() выводятся значения массива a в формате %d (целое число).
- После заполнения всей матрицы выводится символ новой строки (\n).
- Запускается пауза с помощью функции system(
PAUSE). - Код завершается. В результате выполнения этого кода будет сгенерирована случайная матрица n на n, и ее значения будут выведены на экран.