Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2009, 18:08   #1
iron-YYY
Новичок
Джуниор
 
Регистрация: 28.05.2009
Сообщений: 1
По умолчанию Не могу вывести на экран все отредактированные строки!

Здравствуйте программисты! Прошу помочь мне с програмкой, найти ошибки.
Задча: Необходимо ввести сроку символов разделителей и массив строк текста с заданным количеством строк.
Из строк введенного текста сформировать другой текст, в котором из строк нужно удалить слова с минимальным в этой строке количеством символов и всю строку, если слов в строке более одного. Вывести сформированный текст.
-Не получается в первой части вывести на экран все строки, почемуто выводится только последняя строка, к счастью, уже отредактированная.
Вот текст программы:

Код:
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main(void)
{
char text[10][80],text2[10][80];
char razdel[10],slovo[80];
int i,j,y,m,n1=0,n2=0,p,n=0,kol;
int d,k,dlina=0,dlinaMin=100;
clrscr();
printf("BBEDuTE razdeliteli \n");
gets(razdel);
mark:;
printf("BBEDuTE kolichestvo strok \n") ;
scanf("%d", &kol);
if (kol>=10)
{
printf("menshe davai \n");
goto mark;
}
printf("BBEDuTE text \n");
for(i=0;i<=kol;i++)
{
gets(text[i]);
}
for(i=0;i<kol;i++);
{
for(j=0,d=0;j<strlen(text[i]);j++,d++)
{
for(y=0;y<strlen(razdel);y++)
{
if (text[i][j]==razdel[y])
{
dlina=d-1;
d=0;
if (dlinaMin>dlina && dlina!=-1)
{
n1=j;
dlinaMin=dlina;
}
if (dlinaMin==dlina)
{
i++;
}
}
}
}
j=0;
m=0;
while (j<n1-dlinaMin)
{
text2[n][m]=text[i][j];
j++;
m++;
}
j=n1+1;
while (j<strlen(text[i]))
{
text2[n][m]=text[i][j];
j++;
m++;
}
n++;
}
for(n=0;n<=i;n++)
{
puts(text2[n]);
}
getch();
}
iron-YYY вне форума Ответить с цитированием
Старый 29.05.2009, 11:12   #2
Sweta
Форумчанин
 
Регистрация: 22.11.2007
Сообщений: 664
По умолчанию

Код:
for(n=0;n<=i;n++)
{
puts(text2[n]);
}
Вы выводете одномерный массив, а необходимо выводить двухмерный
Неприятности приходят и уходят, а жизнь продолжается!
Sweta вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В двухмерном массиве все отрицательные элеметны заменить на их модули. А новый массив вывести на экран JulLy Паскаль, Turbo Pascal, PascalABC.NET 11 28.04.2009 08:13
из строки по алфавиту вывести все гласные( innaa639 Помощь студентам 1 24.02.2009 16:13
как вывести все имеющиеся файлы в каталоге на экран? Almost456 Паскаль, Turbo Pascal, PascalABC.NET 2 24.12.2008 20:44
считать из файла две строки, вывести на экран символы первой строки, которые отсутствуют во второй gotex Помощь студентам 4 08.05.2008 02:27