Форум программистов, компьютерный форум CyberForum.ru

Даны две строки. Получить строку, в которой чередуются слова первой и второй строки - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 5.00
MsHassium
2 / 2 / 0
Регистрация: 04.03.2012
Сообщений: 21
04.03.2012, 12:37     Даны две строки. Получить строку, в которой чередуются слова первой и второй строки #1
Даны две строки. Получить строку, в которой чередуются слова первой и второй строки. Если в одной из строк число слов больше, чем в другой, то оставшиеся слова этой строки должны быть дописаны в строку-результат.
Вообще задание не написать код, а составить блок схему алгоритма решения, но я хочу решить ее а потом рисовать схему, если есть возможность помочь с кодом, то прошу писать его без лишних усложнений, а именно писать без использования лишних библиотек, т.к. я учусь только на 1 курсе, самостоятельно язык далеко еще не изучил, поэтому будет сложно разобраться в коде!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2012, 12:37     Даны две строки. Получить строку, в которой чередуются слова первой и второй строки
Посмотрите здесь:

C++ Массив: Получить новую матрицу следующим способом: умножением Min каждой строки первой матрицы на Max соответствующего столбца второй
Строка: Определить местоположение символа первой строки,который первым совпал с одним из символов второй строки. C++
Строка: Определить местоположение символа первой строки,который первым совпал с одним из символов второй строки. C++
C++ Заданы 2 строки. Определить местоположение символа первой строки, который первым не совпал с одним из символов второй
Проверить одну строку на наличие в ней слова из второй строки C++
C++ Заданы 2 строки, состоящие из слов, разделенных пробелами. Приписать три символа второй строки к первой
C++ Строки. Определить местоположение символа первой строки, который первым совпал с одним из символов второй
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Catstail
Модератор
 Аватар для Catstail
21662 / 10388 / 1687
Регистрация: 12.02.2012
Сообщений: 17,324
04.03.2012, 12:52     Даны две строки. Получить строку, в которой чередуются слова первой и второй строки #2
Вот простое решение:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include "stdio.h"
 
int main(int argc, char* argv[])
{
    char S1[] = "QWERTY";
    char S2[] = "ZXC";
        char S3[100];  /* На всякий случай 100 симв. */
 
    int i,j,k;
 
    for (i=0; i <= 99; i++) S3[i]=0;
 
        i=0;
    j=0;
    k=0;
 
    while(1)
    {
       if ((S1[i]==0) && (S2[j]==0)) break;
 
           if (S1[i] != 0)
       {
           S3[k]=S1[i];
           i++;
           k++;
       }
           if (S2[j] != 0)
       {
           S3[k]=S2[j];
           j++;
           k++;
       }
    }
 
 
    printf("%s\n",S1);
    printf("%s\n",S2);
    printf("%s\n",S3);
 
 
    return 0;
}
MsHassium
2 / 2 / 0
Регистрация: 04.03.2012
Сообщений: 21
04.03.2012, 13:33  [ТС]     Даны две строки. Получить строку, в которой чередуются слова первой и второй строки #3
Все отлично, спасибо, но ты используешь переменные типа чар и работаешь с отдельными символами, а нужно со словами! Возможно ли переделать код, для работы с библиотекой STRING?
Catstail
Модератор
 Аватар для Catstail
21662 / 10388 / 1687
Регистрация: 12.02.2012
Сообщений: 17,324
04.03.2012, 18:54     Даны две строки. Получить строку, в которой чередуются слова первой и второй строки #4
Поясни, что значит "нужно со словами"? Нужно, чтобы слова чередовались? Так это другая задача. Можно подключить "string.h", но ведь ты сам просил "без лишних библиотек"...
MsHassium
2 / 2 / 0
Регистрация: 04.03.2012
Сообщений: 21
04.03.2012, 19:04  [ТС]     Даны две строки. Получить строку, в которой чередуются слова первой и второй строки #5
Цитата Сообщение от Catstail Посмотреть сообщение
Поясни, что значит "нужно со словами"? Нужно, чтобы слова чередовались? Так это другая задача. Можно подключить "string.h", но ведь ты сам просил "без лишних библиотек"...
именно! Согласен, моя ошибка, не пояснил что нужно именно с библиотекой string!
Catstail
Модератор
 Аватар для Catstail
21662 / 10388 / 1687
Регистрация: 12.02.2012
Сообщений: 17,324
04.03.2012, 21:09     Даны две строки. Получить строку, в которой чередуются слова первой и второй строки #6
Я сам тоже поторопился... В задании указаны слова. Виноват. Вот другой код:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include "string.h"
#include "malloc.h"
#include "stdio.h"
 
int main(int argc, char* argv[])
{
 
    char S1[]="To be or not to be";
    char S2[]="Better later than never";
    char *S3;
 
    char *si1,*si2,*so;
 
    int l1,l2,i;
 
    l1=strlen(S1);
    l2=strlen(S2);
 
    S3= (char *) calloc(l1+l2+2,1);
 
    si1=S1;
    si2=S2;
 
    so=S3;
 
    while (1)
    {
        
        if ((*si1 == 0) && (*si2 == 0)) break;
 
        if (*si1 != 0) 
        {
 
            while ((*si1 != ' ') && (*si1 != 0))
            {
                *so++=*si1++;
            }
 
            if ((*si1 !=0) || (*si2 !=0)) *so++=' ';
 
            if (*si1 != 0) si1++;
 
        }
 
        if (*si2 != 0)
        {
 
            while ((*si2 != ' ') && (*si2 != 0))
            {
                *so++=*si2++;
            }
 
            if ((*si1 !=0) || (*si2 !=0)) *so++=' ';
 
            if (*si2 != 0) si2++;
 
        }
        
    }
 
    printf("%s\n",S3);
 
    free(S3);
 
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.03.2012, 21:29     Даны две строки. Получить строку, в которой чередуются слова первой и второй строки
Еще ссылки по теме:

C++ Исключите из второй строки те символы, которые есть в первой, и выведите полученную строку на экра
C++ Определить местоположение символа первой строки, который первым не совпал с одним из символов второй строки
C++ Разместить текст первой строки по центру второй строки
Приписать второе слово второй строки к первой, развернуть первую строку C++
C++ Даны две строки. Составить третью строку из слов, имеющихся в обеих данных строках

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
MsHassium
2 / 2 / 0
Регистрация: 04.03.2012
Сообщений: 21
04.03.2012, 21:29  [ТС]     Даны две строки. Получить строку, в которой чередуются слова первой и второй строки #7
огромное Вам спасибо. Вы мне очень помогли.
Yandex
Объявления
04.03.2012, 21:29     Даны две строки. Получить строку, в которой чередуются слова первой и второй строки
Ответ Создать тему
Опции темы

Текущее время: 23:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru