0 / 0 / 0
Регистрация: 18.11.2011
Сообщений: 11
1

Вывести слова в строке в обратном порядке

18.11.2011, 12:47. Показов 6297. Ответов 7
Метки нет (Все метки)

Привет всем. Помогите пожалуйста ! Дана строка состоящая из 30 слов между словами пробел и запятая вывести на экран слова в обратном порядке
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.11.2011, 12:47
Ответы с готовыми решениями:

Вывести слова в строке в обратном порядке
#include "stdafx.h" #include<iostream> #include<conio.h> #include<string> #include <fstream> ...

Перевернуть слова в данной строке в обратном порядке
я недавно начала программировать, не могу разобраться с задачей пожалуйста. в С++, дана строка...

Вывести слова в строке в обратном порядке
Помогите, никак не могу разобраться с программой

Вывести слова данной строки в обратном порядке по одному в строке экрана
Вывести слова данной строки в обратном порядке по одному в строке экрана.

7
Эксперт С++
4264 / 2238 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
18.11.2011, 12:56 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
#include<stdio.h>
#include<string.h>
#include<conio.h>
#define DEL " .,;:\t\n"
 
void Print(char *s)
{
    char *word;
    if (word = strtok(NULL, DEL))
    {
         Print(s);
         puts(word);
    }
}
 
int main()
{
    char s[1024], *word;
    fgets(s, 1024, stdin);
    if (word = strtok(s, DEL))
    {
        Print(s);
        puts(word);
    }
    getch();
    return 0;
}
2
0 / 0 / 0
Регистрация: 18.11.2011
Сообщений: 11
18.11.2011, 13:12  [ТС] 3
у меня ошибки выдает =(
0
Эксперт С++
4264 / 2238 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
18.11.2011, 13:14 4
Цитата Сообщение от fighterfx Посмотреть сообщение
у меня ошибки выдает =(
какие ошибки? У меня все работает. Я там библиотеку <string.h> добавил, скопируйте еще раз. Введите строку, программа выделит в ней слова и выведет в обратном порядке.
1
0 / 0 / 0
Регистрация: 18.11.2011
Сообщений: 11
18.11.2011, 13:22  [ТС] 5
спасибо большое всё работает =))) только можете еще объяснить а то я не совсем понимаю как устроена программа
0
1 / 1 / 0
Регистрация: 18.11.2011
Сообщений: 5
18.11.2011, 13:24 6
ehue&
0
Эксперт С++
4264 / 2238 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
18.11.2011, 13:50 7
Цитата Сообщение от fighterfx Посмотреть сообщение
можете еще объяснить а то я не совсем понимаю как устроена программа
Все построено на функции strtok. Программа работает точно также, как эта
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<stdio.h>
#include<string.h>
#include<conio.h>
#define DEL " .,;:\t\n"
 
int main()
{
    char s[1024], *word;
    fgets(s, 1024, stdin);
    word = strtok(s, DEL);
    while(word)
    {
        puts(word);
        word = strtok(NULL, DEL);
    }
    getch();
    return 0;
}
только с использованием рекурсии.

Если не любите рекурсию, то можно так:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<stdio.h>
#include<string.h>
#include<conio.h>
#define DEL " .,;:\t\n"
 
int main()
{
    char s[1024], *word[100];
    int i, n = 0;
    fgets(s, 1024, stdin);
    word[n] = strtok(s, DEL);
    while(word[n])
        word[++n] = strtok(NULL, DEL);
    for(i = n - 1; i >= 0; i--)
        puts(word[i]);
    getch();
    return 0;
}
1
Заблокирован
18.11.2011, 14:47 8
fighterfx, а если так?
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
#include <iostream>
#include <conio.h>
using namespace std;
 
char * reverse ( char* str )
{
    int len = 0;
    while(str[len] != '\0')
        len++;
    char * rev = new char[len + 1];
    for(int i = 0; i < len; i++)
        rev[i] = str[len - 1 - i];
    rev[i] = '\0';
    return rev;
}
 
int main()
{
    char array [] = {"1234567890"};
    cout << array << endl;
    _getch();
    char * str  = reverse(array);
    cout << reverse(array) << endl;
    _getch();
    return 0;
 }
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.11.2011, 14:47
Помогаю со студенческими работами здесь

Переписать слова в строке в обратном порядке
Ввести строку, содержащую несколько слов. Переписать слова в ней в обратном порядке (последнее...

Переставить слова в строке в обратном порядке
Ввести строку символов разделителей. Затем вводится массив строк текста с неизвестным количеством...

Вывести только симметричные слова либо слова, в которых буквы упорядочены в порядке, обратном алфавитному
С консоли вводится текст. Напишите программу, которая будет выводить только те слова, которые...

В заданной строке расположить слова в порядке обратном алфавитному
Надо написать на TASM программу, которая в заданной строке располагает слова в порядке обратном...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru