У меня есть массив из 15 строк (которые не обязательно все обязательно использовать), и несмотря на то, что везде читал, что gets
ни в коем случае нельзя использовать, почему-то я считаю, что это наиболее удобно для меня для этой программы. После предложения пользователю указать, сколько строк и столбцов он хочет создать матрицу, я прошу его ввести значения матрицы, по одной строке на строку за раз. Я делаю это с помощью gets
. Одновременно я хочу просмотреть строку на количество введенных пробелов, чтобы убедиться, что пользователь вводит соответствующее количество чисел, соответствующих количеству указанных столбцов.
В конце я хочу распечатать вторую строку, которую я ввел.
Вы можете предположить, что rowone
и colone
уже определены, я просто не копировал эту часть кода для экономии места.
int i=0, rowone, colone, sbar=0, inputs=0;
char matrixone[15][10000];
......
printf("input your matrix\n");
for (i=0;i<rowone;i++){
gets(matrixone[i]);
while(matrixone[i][inputs]!='\n'){
if (mplier[i][inputs] == ' '){
sbar++;
inputs++;
}
else
inputs++;
}
if (sbar>=colone||sbar<colone-1){
printf("Too many/too few inputs per line\n");
main();
}
sbar = 0;
inputs = 0;
}
puts(matrixone[2])
Я получаю предупреждения при компиляции и, в конечном итоге, даже не могу ввести матрицу, поскольку всегда появляется сообщение «Слишком много/слишком мало входов».
Любая помощь будет принята с благодарностью, спасибо!