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

Напечатать слова предложения в таком порядке, чтобы последняя буква каждого словасовпадала с первой буквой следующего слова - C++

Восстановить пароль Регистрация
 
Nooby1
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 32
21.03.2014, 07:43     Напечатать слова предложения в таком порядке, чтобы последняя буква каждого словасовпадала с первой буквой следующего слова #1
Полное задание :
В предложении все слова начинаются с разных букв. Напечатать ( если можно ) слова предложения в таком порядке, чтобы последняя буква каждого слова совпадала с первой буквой следующего слова.
Что я намутил:
Разбиение предложения на массив слов
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int _tmain(int argc, _TCHAR* argv[])
{
    const char separator[]=" \.,";
    char S[]="String, who budet razbita na slova ";
    char *Ptr=NULL;
    char **stroki;
    stroki = new char*[10];
    for (int i=0 ; i<10 ; ++i)
    stroki[i]=new char[10];
    int i=0;
    Ptr=strtok(S,separator); //Исходная строка будет изменена
    while (Ptr)
    {
        stroki[i] = Ptr;
       printf("%s",stroki[i]); //выводим слово из строки на экран
       i++;
       Ptr=strtok(0,separator); //указываем на новый токен
    }
    system("PAUSE");
    return 0;
}
Что дальше делать - понятия не имею..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.03.2014, 07:43     Напечатать слова предложения в таком порядке, чтобы последняя буква каждого словасовпадала с первой буквой следующего слова
Посмотрите здесь:

Преобразовать строку таким образом, чтобы цифры каждого слова были перенесены в начало слова без изменения порядка следования их в слове C++
C++ Даны два слова, в каждом из которых от 1 до 8 строчных латинских букв и за каждым из которых - пробел. Напечатать слова в алфавитном порядке
Напечатать все слова, в которых повторяется первая буква слова C++
C++ В тексте слова разделены запятыми,напечатать все слова в алфавитном порядке.
Дано два предложения (Распечатать слова из первого предложения, который начинаются на первую букву последнего слова второго предложения) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
21.03.2014, 09:15     Напечатать слова предложения в таком порядке, чтобы последняя буква каждого словасовпадала с первой буквой следующего слова #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
43
44
45
46
47
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <memory.h>
 
void swap(char*& str1, char*& str2);
 
int main(int argc, char* argv[])
{
    static char str[256] = "object cache traffic end tie\0";
 
    printf("%s\n",str);
 
    char** words = new char*[256];
    memset((void*)words, 0x00, 4 * 256);
 
    char* word = strtok(str, " ");
    for (int index = 0; word != NULL; index++)
    {
        words[index] = new char[256]; 
        strcpy(words[index], word);
        word = strtok(NULL, " ");
    }
 
    for (int nindex = 0; words[nindex] != NULL; nindex++)
    {
        int rindex = nindex+1; bool found = false;
        char ch = *(words[nindex]+(strlen(words[nindex])-1));
        while (words[rindex] != NULL && found == false)
            found = (*words[rindex++] == ch) ? 1 : 0;
 
        if (found != false) 
            swap(words[nindex+1], words[rindex-1]);
    }
 
    for (int t = 0; words[t] != NULL; t++)
        printf("%s ",words[t]);
 
    printf("\n");
 
    _getch();
 
    return 0;
}
 
void swap(char*& str1, char*& str2)
 { char* _ts = str1; str1 = str2; str2 = _ts; }
Миниатюры
Напечатать слова предложения в таком порядке, чтобы последняя буква каждого словасовпадала с первой буквой следующего слова  
Nooby1
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 32
21.03.2014, 09:27  [ТС]     Напечатать слова предложения в таком порядке, чтобы последняя буква каждого словасовпадала с первой буквой следующего слова #3
Спасибо!
Но почему при вводе трёх слов на моём скриншоте, он не ставит "Klukva" вперёд?
Миниатюры
Напечатать слова предложения в таком порядке, чтобы последняя буква каждого словасовпадала с первой буквой следующего слова  
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
21.03.2014, 09:29     Напечатать слова предложения в таком порядке, чтобы последняя буква каждого словасовпадала с первой буквой следующего слова #4
При поиске не учитывается первое слово
Nooby1
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 32
21.03.2014, 14:50  [ТС]     Напечатать слова предложения в таком порядке, чтобы последняя буква каждого словасовпадала с первой буквой следующего слова #5
а можно как-нибудь его учесть?
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
21.03.2014, 18:54     Напечатать слова предложения в таком порядке, чтобы последняя буква каждого словасовпадала с первой буквой следующего слова #6
Очень сложно. Я подумаю. Скорее всего нет.
Yandex
Объявления
21.03.2014, 18:54     Напечатать слова предложения в таком порядке, чтобы последняя буква каждого словасовпадала с первой буквой следующего слова
Ответ Создать тему
Опции темы

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