Объявление двумерного массива и вывод элементов случайным образом. - C (СИ)
Формулировка задачи:
Random-ный вывод элементов. Помогите пожалуйста с задачей.
Решение задачи: «Объявление двумерного массива и вывод элементов случайным образом.»
textual
Листинг программы
#include<stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
srand( time( NULL ) );
int const n = 3, m = 3;
int mas[n][m], K;
int i,j;
printf("Vvedite matricy\n");
for (i = 0; i < n; i++)
for (j = 0; j < m; j++)
{
printf("Vvedite element mas[%d][%d]= ", i, j);
scanf("%d", &mas[i][j]);
}
printf("Poluchennay matrica\n");
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
printf("%4d", mas[i][j]);
printf("\n");
}
printf("Skolko chisel is massiva vivesti sluchainim obrazom: ");
scanf("%d", &K);
while(K>0)
{
i=rand()%n;
j=rand()%m;
printf("%d\n", mas[i][j]);
K--;
}
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы со временем, вводом/выводом и генерацией случайных чисел.
- Инициализация генератора случайных чисел с помощью функции srand(time(NULL)).
- Объявление двумерного массива mas[n][m] и его инициализация с помощью ввода пользователем.
- Вывод полученной матрицы с помощью цикла for и функции printf.
- Ввод количества элементов, которые необходимо вывести случайным образом.
- Создание цикла while, который будет выполняться до тех пор, пока количество элементов не станет равным нулю.
- Внутри цикла выбираются случайные индексы i и j с помощью функций rand() и modulo % для обеспечения условия нахождения индексов в пределах матрицы.
- Выводится элемент матрицы с выбранными случайными индексами.
- Уменьшается значение переменной K на единицу.
- Цикл while завершается, когда значение K становится равным нулю.
- Программа возвращает 0, что означает успешное завершение работы.