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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 5.00
MsHassium
2 / 2 / 0
Регистрация: 04.03.2012
Сообщений: 21
#1

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

04.03.2012, 12:37. Просмотров 1115. Ответов 6
Метки нет (Все метки)

Даны две строки. Получить строку, в которой чередуются слова первой и второй строки. Если в одной из строк число слов больше, чем в другой, то оставшиеся слова этой строки должны быть дописаны в строку-результат.
Вообще задание не написать код, а составить блок схему алгоритма решения, но я хочу решить ее а потом рисовать схему, если есть возможность помочь с кодом, то прошу писать его без лишних усложнений, а именно писать без использования лишних библиотек, т.к. я учусь только на 1 курсе, самостоятельно язык далеко еще не изучил, поэтому будет сложно разобраться в коде!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2012, 12:37     Даны две строки. Получить строку, в которой чередуются слова первой и второй строки
Посмотрите здесь:
Ввести две символьных строки. Выполнить поиск второй строки в первой и вывести номер позиции, с которой вторая строка содержится в первой. C++
C++ Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки
C++ Функция копирует строку в другую строку заданой длины и помещает текст первой строки по центру второй строки
Даны две строки: S и S0. Определить количество вхождений строки S0 в строку S C++
c++ Даны две строки: S1 и S2. Определить количество вхождений строки S2 в строку S1. C++
Даны две действительные квадратные матрицы порядка n. Получить новую матрицу: а) умножением элементов каждой строки первой матрицы на наибольш C++
1)Даны две действительные квадратные матрицы порядка n. Получить новую матрицу : А) умножение элементов каждой строки первой матрицы на наибольшее из C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Catstail
Модератор
22434 / 10839 / 1765
Регистрация: 12.02.2012
Сообщений: 17,952
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
Модератор
22434 / 10839 / 1765
Регистрация: 12.02.2012
Сообщений: 17,952
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
Модератор
22434 / 10839 / 1765
Регистрация: 12.02.2012
Сообщений: 17,952
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++ Даны две действительные квадратные матрицы порядка n. Получить новую матрицу: путем умножения элементов каждой строки первой матрицы на наибольшее из
Приписать второе слово второй строки к первой, развернуть первую строку C++
C++ Исключите из второй строки те символы, которые есть в первой, и выведите полученную строку на экра
Проверить одну строку на наличие в ней слова из второй строки C++
Добавить в конец первой строки, последние n2-n1 слов второй строки C++

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

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

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