Двумерный массив: организация ввода и вывода элементов - C (СИ)
Формулировка задачи:
Добрый день. Мне нужно с клавиатуры ввести количество столбцов и количество строк массива. Минимум массив должен быть 2х2. Потом вводим с клавы первый елемент первой строки. потом второй елемент 1 строки. ну и первый ел. 2 строки и 2 ел. 2 строки. Ну и вывести массив на экран.
Получилось только ввести с клавы кол. столбцов и строк. и задать условие, что они должны быть больше двух. А как вот дальше вывести на экран:
Введите 1 ел. 1 строки:
Введите 2 ел. 1 строки:
и подставить их в массив у меня не получилось.
# include <stdio.h>
# include <math.h>
int main()
{
int x,y;
printf("Vvedute koluchestvo stpok: ");
scanf("%d", &x);
printf("Vvedite koluchesto stolbcov: ");
scanf("%d", &y);
if(x<2 || y<2)
{
printf("Oshubka. X i Y doljnu but' ne men'she 2");
}
else
{
int a[x][y];
for (int i=0; i<=x;i++)
{
printf("Vvedute %d element %d stpoku: \n", i+1);
scanf("%d", &a[i]);
}
}
return 0;
}Решение задачи: «Двумерный массив: организация ввода и вывода элементов»
textual
Листинг программы
#include <stdio.h>
int main(){
int str = 0,stb=0, i=0, j=0;
printf("STRINGS: ");
scanf("%d",&str);
printf("STOLBEZ: ");
scanf("%d",&stb);
int s[str][stb];
for(i=0; i<str; i++){
for(j=0; j<stb; j++){
printf("\nENTER S[%d][%d]: ", i, j);
scanf("%d", &(s[i][j]));
}
}
int temp=0, temp2=0;
for (i=0; i<str; i++){
for(j=0;j<stb; j++){
if(j==0){
temp=s[i][j];
s[i][j]=s[i][j+1];
s[i][j+1]=temp;
}
for (i=0; i<str; i++){
for(j=0;j<stb; j++){
if ( j==0 && ((s[i][j] % 2) && !(s[i][j+1]%2))){ //0.0 = нечетное 0.1 четное меняем
temp = s[i][j];
temp2= s[i][j+1];
s[i][j+1]=temp;
s[i][j]=temp2;
} else {
if ( j==0 && (!(s[i][j]%2) && (s[i][j+1]%2))){ //0.0 = четное 0.1 нечетное меняем
temp = s[i][j];
temp2= s[i][j+1];
s[i][j+1]=temp;
s[i][j]=temp2;
}
}
}
}
for(i=0;i<str;i++){
for(j=0;j<stb;j++){
printf(" S[%d][%d]: %d\n", i, j, s[i][j]);
}
}
return 0;
}
Объяснение кода листинга программы
В этом коде пользователь вводит размеры двумерного массива с помощью функции scanf, а затем вводит значения элементов массива с помощью функции scanf. Код использует два вложенных цикла for для обмена значениями в определенных случаях. Код также использует оператор if для проверки определенных условий. После ввода всех значений, код выводит значения массива с помощью функции printf. Код не содержит ошибок и возвращает 0, что означает успешное выполнение.