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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2010, 00:03   #11
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

так вроде работает, но не совсем правильно...
gets не используй, лучше fgets или scanf
у gets нету контроля за кол-вом вводимых символов
Код:
#include<stdio.h>
#include<conio.h>
#include<ctype.h>
#include<string.h> 


int main()
{
 int i,j,h=0,p;
 char str[500];
 puts("vedite stroku");
 fgets(str, 500,stdin);
 p=strlen(str);

 for(i=0;i<p;i++)
 {
    if(isalpha(str[i]))
    {
    printf("%c\n", str[i]);
     j=p+1;
     p=p+1;
     while(j>i+1)
     {
       // printf("%c\t%c\n", str[j], str[j-1]);      
        str[j]=str[j-1];
        j--;
     }

     str[i+1]='-';

    for(h=i;h<500;h++){
      if(str[h]==' '){
         i=h+i;
         break;
      }
  }
}

}
  puts("Polychennay stroka");
  puts(str);
  fflush(stdin);
  getch();
  return 0;
}

Последний раз редактировалось NiCola999; 26.03.2010 в 00:07.
NiCola999 вне форума Ответить с цитированием
Старый 26.03.2010, 00:12   #12
stanBRY
 
Регистрация: 16.01.2010
Сообщений: 8
По умолчанию

Да но в этом и заключается ошибка что не совсем работаети по ходу ошибка где та тут
Код:
for(h=i;h<p;h++){
if(str[h]==' '){
i=h+i;
break;
}
}
потому что там все работает а тут не понимаю где она портачит
stanBRY вне форума Ответить с цитированием
Старый 26.03.2010, 00:29   #13
stanBRY
 
Регистрация: 16.01.2010
Сообщений: 8
По умолчанию

Все помощь уже не надо сам поправил!
Спасыбо кто хоть оказал минутку вныманыя!
stanBRY вне форума Ответить с цитированием
Старый 26.03.2010, 00:36   #14
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

самому стало интересно в чем была ошибка) нет времени смотреть алгоритм, простым подбором добился результата =)
Код:
for(h=i;h<500;h++){
      if(str[h]==' '){
         i+=h-i;
         break;
      }
  }

Последний раз редактировалось NiCola999; 26.03.2010 в 00:40.
NiCola999 вне форума Ответить с цитированием
Старый 26.03.2010, 00:47   #15
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от NiCola999 Посмотреть сообщение
самому стало интересно в чем была ошибка) нет времени смотреть алгоритм, простым подбором добился результата =)
Код:
for(h=i;h<500;h++){
      if(str[h]==' '){
         i+=h-i;
         break;
      }
  }
Код:
i += h-i; <=> i = i + h - i; <=> i = h;


2stanBRY, хорошо, что нашли ошибку сами, мои поздравления(искренние)
netrino вне форума Ответить с цитированием
Старый 26.03.2010, 01:25   #16
stanBRY
 
Регистрация: 16.01.2010
Сообщений: 8
По умолчанию

Цитата:
Сообщение от NiCola999 Посмотреть сообщение
самому стало интересно в чем была ошибка) нет времени смотреть алгоритм, простым подбором добился результата =)
Код:
for(h=i;h<500;h++){
      if(str[h]==' '){
         i+=h-i;
         break;
      }
  }
Не а все равно ошибка ввиди больше символов и увидишь.
stanBRY вне форума Ответить с цитированием
Старый 26.03.2010, 16:30   #17
crazy horse
ios developer
Старожил
 
Аватар для crazy horse
 
Регистрация: 16.11.2007
Сообщений: 2,885
По умолчанию

Цитата:
Тем кто может помоч а не языком трепать!
Подобные темы должны начинаться так:
Уважаемые программисты, бью челом своим бестолковым, прошу посмотреть мой недостойный код, страдающий такими-то и такими-то болезнями. Уж извините меня, недотепу, что отвлекаю вас от ваших дел.
А если надо помочь а не языком трепать ДУЙ В РАЗДЕЛ ФРИЛАНС И ПЛАТИ ДЕНЬГИ. Хотя сомневаюсь, что такое отношение и там кто-то потерпит. Пошлют туда, куда по этическим нормам не принято и объяснят как туда добраться. Куда отправиться я вам лично и советую, дабы не искушать буйные от гормонов головы модераторов.
Делайте что хотите, но чтобы через полчаса в лесу было светло, сухо и медведь!
crazy horse вне форума Ответить с цитированием
Старый 29.03.2010, 23:16   #18
stanBRY
 
Регистрация: 16.01.2010
Сообщений: 8
По умолчанию

Цитата:
Сообщение от crazy horse Посмотреть сообщение
Подобные темы должны начинаться так:
Уважаемые программисты, бью челом своим бестолковым, прошу посмотреть мой недостойный код, страдающий такими-то и такими-то болезнями. Уж извините меня, недотепу, что отвлекаю вас от ваших дел.
А если надо помочь а не языком трепать ДУЙ В РАЗДЕЛ ФРИЛАНС И ПЛАТИ ДЕНЬГИ. Хотя сомневаюсь, что такое отношение и там кто-то потерпит. Пошлют туда, куда по этическим нормам не принято и объяснят как туда добраться. Куда отправиться я вам лично и советую, дабы не искушать буйные от гормонов головы модераторов.
Уважаемый товарищ вашего мнения никто не спрашивал так что ваши слова засуньте себе куда по дальше чтоб не мешали вам по жизни а я написал что ошибку все равно сам нашел так что кыш отсюда!
stanBRY вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
pascal найти ошибку. Айдар Помощь студентам 4 09.02.2010 20:53
Найти ошибку Uvaroff Помощь студентам 3 13.01.2010 01:45
найти ошибку rUs_LAN Общие вопросы C/C++ 8 14.05.2009 12:02
Помогите найти ошибку JOFRIF Помощь студентам 8 22.04.2008 14:22