Регистрация Главная Сообщество
Сообщения за день Справка Регистрация
Навигация
Zhyk.org LIVE! Реклама на Zhyk.org Правила Форума Награды и достижения Доска "почета"

подскажите как доработать программу на С

-

Вопросы и ответы, обсуждения

- Ваши вопросы по C/C++ только в данном разделе

Ответ
 
Опции темы
Старый 24.11.2011, 13:36   #1
 Разведчик
Аватар для Evgen2sat
 
Evgen2sat никому не известный тип
Регистрация: 24.11.2011
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
Question подскажите как доработать программу на С

В общем нужно написать программу на С:
Дана строка S. Строка S должна содержать несколько слов. Разбить строку на две
строки S1 и S2. Строка S1 должна содержать четные слова из строки S, а строка S2 –
нечетные слова из строки S. Сформировать строки S1 и S2 двумя способами:
- с использованием функций библиотеки string.h
- работая со строками как с массивами.

С библиотекой string.h у меня вот что получилось
Код:
#include <stdio.h>
#include <string.h>
#include <conio.h>
int main(void)
{
  char s[] ="V etom predlozhenii mnogo chetnyh i nechetnyh slov";
  char *i;
  int b;
  i = strtok (s," ");
    printf("Stroka s chetnymi slovami:\n");
  while (i!= NULL)
  {
    b=strlen(i);
    if(b%2==0) printf("%s ",i);
    i = strtok (NULL, " "); 
  }
  i = strtok (s," ");
  printf("\nStroka s nechetnymi slovami:\n");
   while (i!= NULL)
   {
    b=strlen(i);
    if(b%2==1) printf("%s ",i);    
    i = strtok (NULL, " "); 
  } 
  
getch();
}
Только она немного не так получилась. В этой программе считает если длина слова четная то в одной строке выводит,если нечетная то в другой,а нужно если порядок слова четный то в одной строке выводит, если нечетный, то соответственно в другой строке. Помогите пожалуйста исправить и доработать.
Вот вариант через массивы:
Код:
#include <stdio.h>
#include <conio.h>
void main()
{
     char s[]="qwerty unb jkrwgf wjkegfjwe jgewfjkwegf";
     char s1[100],s2[400];
     int i,b,a,c;
     i=b=c=0;
     while(i<100)
     {
                      if(s[i]!=' ')
                      {
                      while(i<100 && s[i]!=' ')
                      {
                      s1[b]=s[i];
                      i++;
                      b++;
                      }
                      s1[b]=" ";
                      }
                      else
                      {
                          a=i+1;
                          while(a<100 && s[a]!=' ')
                          {
                          s2[c]=s[a];
                          a++;
                          c++;
                          }
                      s2[c]=' ';
                      i=a+1;
                      
                      }
                      printf("s1:%s\n",s1);
                      }
                      
                      printf("s2:%s\n",s2);
                      getch();
                      }
Опять же есть недоработка в программе, она выводит все правильно, но не ставит пробелы между словами. Как сделать так чтобы слова отделялись пробелами. Помогите пожалуйста очень нужно. Заранее благодарен.
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Программа] Подскажите программу kib_dan Общение и обсуждение 0 15.08.2011 14:57
Подскажите программу! Deep45 Треп 5 03.03.2011 15:38
[Помогите!] Подскажите программу!!! serg777voroncov Свободное обсуждение 2 15.02.2011 09:50
[Помогите!] Подскажите программу. gigant123 Вопросы и ответы, обсуждения 2 15.09.2010 12:29
Подскажите программу ! LittleAngel Общение и обсуждение, архив Lineage 2 4 17.06.2010 13:06

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 11:20.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net