Esse quam videri
Дана задача:
читать дальше
Использовать стринговские готовые функции нельзя
Почему-то написать так и ен вышло.ю ну не удаляет,зарраза такая...
код:
Пишу на ВС 2008,так что на #include "stdafx.h" и корявое объявление main'a не смотрите,оно само автоматом так)))
читать дальше
Использовать стринговские готовые функции нельзя
Почему-то написать так и ен вышло.ю ну не удаляет,зарраза такая...
код:
Пишу на ВС 2008,так что на #include "stdafx.h" и корявое объявление main'a не смотрите,оно само автоматом так)))
Предлагаю не удалять слова, состоящие более чем из N букв, а просто не копировать их из strIn в strOut. Моё решение вашей задачки такое:
Проверял так:
Отладкой и проверкой ввода некорректных данных не занимался, оставляю это вам
char input_string [] = "one line size zzzzzz ggjklgjl 5";
char out_string[256];
int n = 3;
for (int i=0; i< sizeof(input_string);++i)
{
int c = 0; // counter
while(i< sizeof(input_string) && input_string[i+c] !=' ')
{
++c;
}
if (c= < n)
{
for (int j=i;j < = i + c && j < sizeof(input_string);++j)
out_string[j]=input_string[j];
}
}
while(i + с < sizeof(input_string) && input_string[i+c] !=' ')
{
++c;
}
спасибо большое за помощь))Просто только начинаю писать на C и,к сожалению, ещё не освоился..
Насчет двойного ифа-это я код копипастил из двух файлов своих))вот и скопировал дублем.
hauff
благодарю за решение. Как мне кажется,оно более изящно, но к сожалению, не учитывает ввод с клавиатуры и использует готовые функции,которые использовать нельзя.(sizeof). Впрочем,это легко подправить))
о,как...спасибо,буду значит,что С так жизнь упращает))
да я понимаю))спасибо вам)))