Ввод многострочного текста с клавиатуры - C (СИ)
Формулировка задачи:
необходимо ввести текст,количество строк m вводится пользователем.
я написала,что вот так...в результате,когда ввожу первую строку,нажимаю Enter,то программа просто вылетает
что тут не так???))
for (i=0;i<m;i++)
{
for (j=0;j<80;j++)
{
input_printf("input string");
scanf("%s",text[i][j]);
}
}Решение задачи: «Ввод многострочного текста с клавиатуры»
textual
Листинг программы
#include "stdafx.h"
#include <conio.h>
#include <string.h>
#include "testing.h"
int _tmain(int argc, _TCHAR* argv[])
{
int n;//kolichestvo simvolov
int m;//kolichestvo strok
int i,k;
char text[20][81];//stroki texta
char symbol[20];//simvoli dlya ydaleniya
bool flag;
//vvod kolichestva simvolov
input_printf("input the size of the array n ");
scanf("%d",&n); // ввод размера массива
if (n<2 || n>255) //проверка размера массива
{
error_printf("wrong input numbers");
} //конец проверки размера
else
{
for (i=0; i<n; i++) //цикл ввода массива
{
fflush(stdin);
input_printf("input elements to compare ");
scanf ("%c", &symbol[i]);
}
input_printf("the number of the strings ");
scanf("%d",&m); // ввод размера массива
if (m<1||m>20)
{
error_printf("wrong input numbers");
}
else
{
for(i=0; i<m; i++)
{
fflush(stdin);
gets(text[i]);
}
for (i=0;i<m;i++)
{
for (j=0;text[i][j]!='\0';j++)
{
flag=0;
for (k=0;k<n;k++)
{
if (text[i][j]==symbol[k])
{
flag=1;
}
if (flag)
{
//delete element
text[i][j]=text[i][j+1];
j--;
}
}
}
}
}
}
WAIT_ANY_KEY
return 0;
}