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

Задача на строки - C++

Восстановить пароль Регистрация
 
gogaby
1 / 1 / 0
Регистрация: 15.11.2011
Сообщений: 28
16.11.2011, 16:34     Задача на строки #1
Очень нужно) заранее спасибо

**При написании программ использовать нуль–терминированные строки и работать только с типом char . Длина каждой строки не превосходит 300 символов. Словом, входящим в состав строки, назовём непрерывную последовательность символов, ограниченную символами–разделителями, началом и концом строки. Символы, относящиеся к разделителям, определяет пользователь, если иное не сказано в условии задачи. Если решить задачу невозможно, программа должна выдать соответствующее сообщение.**


Даны две строки, состоящие из слов, разделённых одним или несколькими пробелами. Из слов этих строк сформировать новую строку так, чтобы слова в ней чередовались: сначала слово из первой строки, затем через пробел – слово из другой строки и т.д., а в конце поместить слова, оставшиеся без пары. Слова в новой строке должны разделяться ровно одним пробелом.
 Комментарий модератора 
gogaby, еще одна тема с бессмысленным названием или тема-дубль, получите карточку. Зарегистрировались на форуме - придерживайтесь его правил.


Добавлено через 19 часов 42 минуты
Уже сделал
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
67
68
69
70
71
72
73
74
75
76
77
78
#include <iostream> 
#include <string>
#pragma warning(disable : 4996)
int min(int a, int b)
{
if (a>b) 
        return b;
    else 
        return a;
    return -1;
}
using namespace std;
void main ()
{
    setlocale(LC_ALL,".1251");
    int i=0;
    char* str1=new char[300];
    char* str2=new char[300];
    cout<<"Строка 1:\n";
    cin.getline(str1,300);
    cout<<"Строка 2:\n";
    cin.getline(str2,300);
    cout<<"Результат:\n";
    char*tmp1=new char[300];
    char*tmp2=new char[300];
    char*p=new char[300];
    tmp1=strtok(str1," ");
    strcpy(p,"");
    char**a1=new char*[150];
    for(int i=0;i<150;i++)
        a1[i]=new char[300];
    i=0;
    while(tmp1!=NULL)
    {   
        strcpy(a1[i],tmp1);
        i++;
        tmp1=strtok(0," ");
    }
    int n1=i;
    tmp2=strtok(str2," ");
    i=0;
    char**a2=new char*[150];
    for(int i=0;i<150;i++)
        a2[i]=new char[300];
    i=0;
    while(tmp2!=NULL)
    {   
        strcpy(a2[i],tmp2);
        i++;
        tmp2=strtok(0," ");
    }
    int n2=i;
    if ((n1==n2)&&(n1==0))
        cout<<"Обе строки пустые!"<<endl;
    else
    {
        
        for(i=0; i<min(n1,n2); i++)
        {
            strcat(p,a1[i]);
            strcat(p," ");
            strcat(p,a2[i]);
            strcat(p," ");
        }
        if (min(n1,n2)==n1)
            for(i=0; i<(n2-n1); i++)
            {   strcat(p,a2[n1+i]);
                strcat(p," ");
            }
        else 
                for(i=0; i<(n1-n2); i++)
                {
                    strcat(p,a1[n2+i]);
                    strcat(p," ");
                }
        cout<<p<<endl;
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2011, 16:34     Задача на строки
Посмотрите здесь:

Задача на строки C++
задача на строки C++
Задача на строки C++
Задача на строки C++
Задача на строки C++
Задача на строки C++
Задача на строки C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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