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

Преобразовать строку так, чтобы буквы каждого слова были остортированы по возрастанию - C++

Восстановить пароль Регистрация
 
NastyaYa
 Аватар для NastyaYa
0 / 0 / 0
Регистрация: 07.01.2013
Сообщений: 3
07.01.2013, 02:10     Преобразовать строку так, чтобы буквы каждого слова были остортированы по возрастанию #1
Подскажите идею,как можно преобразовать строку так,чтобы буквы каждого слова были остортированы по возрастанию?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.01.2013, 02:10     Преобразовать строку так, чтобы буквы каждого слова были остортированы по возрастанию
Посмотрите здесь:

Преобразовать строку таким образом, чтобы цифры каждого слова были перенесены в начало слова без изменения порядка следования их в слове C++
C++ Преобразовать строку так, чтобы все буквы в ней были отсортированы по возрастанию
Преобразовать строку так, чтобы все буквы в ней были отсортированы по возрастанию (работайте с английским алфавитом). C++
Обработать строку так, чтобы чтобы в ней остались только те слова которые содержат буквы и цифры C++
Преобразовать строку, чтобы в ее начале были записаны слова, содержащие только цифры C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
palva
 Аватар для palva
2373 / 1595 / 190
Регистрация: 08.06.2007
Сообщений: 6,364
Записей в блоге: 4
07.01.2013, 02:16     Преобразовать строку так, чтобы буквы каждого слова были остортированы по возрастанию #2
А какая может быть идея? Перебрать все слова, в каждом слове переставить нужным образом буквы. Сказать подробнее трудно, поскольку мы не знаем из каких символов состоит слово и как упорядочены символы слова (что значит, по возрастанию).
NastyaYa
 Аватар для NastyaYa
0 / 0 / 0
Регистрация: 07.01.2013
Сообщений: 3
07.01.2013, 02:22  [ТС]     Преобразовать строку так, чтобы буквы каждого слова были остортированы по возрастанию #3
в строке слова отделяются друг от друга пробелами,1 или несколькими
нужно ввести строку,используя cin.getline
это будет только моя 6 прога на С++,я пока не особо шарю) до этого писала на С немного)
palva
 Аватар для palva
2373 / 1595 / 190
Регистрация: 08.06.2007
Сообщений: 6,364
Записей в блоге: 4
07.01.2013, 03:17     Преобразовать строку так, чтобы буквы каждого слова были остортированы по возрастанию #4
Поздравляю, вы написали свою шестую прогу.
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
#include <iostream>
#include <cstdlib>
 
using namespace std;
char buf[1000];
void srt(int i1, int i2) {
    int i,j,k;
    char b;
    for(i=i2; i2>i1+1; i2--) {
        b=buf[i1];
        for(j=i1+1; j<i; j++) {
            if(b>=buf[j])
                buf[j-1]=buf[j];
            else {
                buf[j-1]=b;
                b=buf[j];
            }
        }
        buf[j-1]=b;
    }
}
 
int main() {
    int r,len,i,i1,i2;
    cin.getline(buf, 1000);
    r=0;
    i1=-1;
    len=strlen(buf);
    for(i=0; i<len; i++)
        if(r==0) {
            if(buf[i]!=' ') {
                r=1;
                i1=i; // начало слова
            }
        } else {
            if(buf[i]==' ') {
                r=0;
                i2=i; // пробел за концом слова
                srt(i1,i2); // сортировка
            }
        }
    if(i1>=0 && r==1) srt(i1, len);
    cout << buf << endl;
    return 0;
}
NastyaYa
 Аватар для NastyaYa
0 / 0 / 0
Регистрация: 07.01.2013
Сообщений: 3
07.01.2013, 03:26  [ТС]     Преобразовать строку так, чтобы буквы каждого слова были остортированы по возрастанию #5
большое спасибо !
Yandex
Объявления
07.01.2013, 03:26     Преобразовать строку так, чтобы буквы каждого слова были остортированы по возрастанию
Ответ Создать тему
Опции темы

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