Ввести числовые данные в двумерный массив через scanf - C (СИ)
Формулировка задачи:
Столкнулся с интересным моментом. Нужно ввести числовые данные в двумерный массив через scanf. Подскажите,плз, как сделать:
int main()
{int n,m,i;
printf("Vvod kol-va strok n=");
scanf("%d",&n);
printf("Vvod kol-va stolbov m=");
scanf("%d",&m);
float A[n][m];
for(i=0;i<n*m;i++)
{printf("Vvod A[%d]=",i+1);
scanf("%f",& A ?Решение задачи: «Ввести числовые данные в двумерный массив через scanf»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
int main()
{
int m,n,o;
int i=0, j=0;
printf("Vvod kol-va strok n=");
scanf("%d",&n);
printf("Vvod kol-va stolbov m=");
scanf("%d",&m);
float b[n][m];
for (i = 0; i < n; i++)
{for (j = 0; j < m; j++)
scanf ("%f", &b[i][j]);} //%f
printf("Vvod komandy\n");
scanf ("%d",&o);
if (o==999)
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
printf ("%.2f ", b[i][j]);
printf ("\n");
}
}
Объяснение кода листинга программы
Код выполняет следующие действия:
- Ввод количества строк и столбцов двумерного массива с помощью функции scanf.
- Создание двумерного массива float b[n][m] с помощью оператора for и функции scanf для заполнения его значениями.
- Ввод команды остановки с помощью функции scanf.
- Проверка значения команды остановки с помощью оператора if. Если значение равно 999, то выполняется следующий блок кода.
- Вывод значений двумерного массива с помощью вложенных циклов for и функции printf. Значения массива выводятся с шагом 0.2f с пробелом после каждого значения.
- После вывода всех значений массива выводится символ новой строки \n.
- Если значение команды остановки не равно 999, то выполняется цикл до тех пор, пока не будет введено значение 999.