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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 5.00
ammg
0 / 0 / 0
Регистрация: 02.03.2010
Сообщений: 4
#1

Сортировка букв в слове - C++

30.03.2010, 00:41. Просмотров 1975. Ответов 5
Метки нет (Все метки)

Я написал код но он кривой:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <windows.h>
using namespace std;
 
int main()
{
SetConsoleOutputCP(1251);
char word [255];
int i=0;
int j=0;
cout<<"Введите строку:";
cin.getline(word,255);
cout<<"Сортировка:";
for (int i=0;i<255-1;i++)
for (int j=i+1;j<255;j++)
if( word[i] > word[j] )
{
swap(word[i],word[j]);
}
cout<<word<<endl;
return 0 ;
}
если как то можнно исправить то помогите,,или помогите сделать заново)))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2010, 00:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сортировка букв в слове (C++):

Сортировка по гласным, согласным и возрастание букв в слове - C++
Помогите пожалуйста решить задачу. В заданном тексте выделить две группы слов: в первую определить слова, начинающиеся на согласную...

Определить длину данного и количество Букв «а». Вывести имя и количество букв в третьем слове - C++
Ввести фамилию , имя и отчество как одно текстовое данное. Определить длину данного и количество Букв « а » в нем . Вывести имя и...

Перестановка букв в слове - C++
Дано слово . Переставить его первую букву на место последней. Вторую , третью ... последнюю букву сместить влево на одну позицию. ...

Пересановка букв в слове - C++
Здравствуйте. Помогите пожалуйста! Вопрос жизни и смерти! Мне нужно составить программу на С++. Суть в том что нужно переставлять 4 буквы,...

Замена букв в слове - C++
Всем привет. Уважаемые программисты, помогите плиз решить простую задачку... Суть задачи: Дан текст. Нужна прога которая ищет в нем...

Подсчет кол-ва букв в слове - C++
Всем привет. Немогу вспомнить как решается подобная задача. Помогите ее решить, заранее благодарен Задача: Ввести предложение....

5
easybudda
Модератор
Эксперт CЭксперт С++
9683 / 5633 / 956
Регистрация: 25.07.2009
Сообщений: 10,813
30.03.2010, 00:47 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <string>
#include <algorithm>
 
/* сортировка букв в строке */
int main(){
    std::string buf;
    std::cout << "String: ";
    std::getline(std::cin, buf);
    std::sort(buf.begin(), buf.end());
    std::cout << "Sorted: " << buf << std::endl;
    return 0;
}
0
ammg
0 / 0 / 0
Регистрация: 02.03.2010
Сообщений: 4
30.03.2010, 00:51  [ТС] #3
а можна как то полегче??без std::

Добавлено через 53 секунды
мне простой сортировкой нужно
0
easybudda
Модератор
Эксперт CЭксперт С++
9683 / 5633 / 956
Регистрация: 25.07.2009
Сообщений: 10,813
30.03.2010, 00:56 #4
Цитата Сообщение от ammg Посмотреть сообщение
а можна как то полегче??без std::
ага
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
 
/* сортировка букв в строке */
int main(){
    string buf;
    cout << "String: ";
    getline(cin, buf);
    sort(buf.begin(), buf.end());
    cout << "Sorted: " << buf << endl;
    return 0;
}
0
ammg
0 / 0 / 0
Регистрация: 02.03.2010
Сообщений: 4
30.03.2010, 01:13  [ТС] #5
у меня есть такое решение просто оно не прокатило на паре))

Добавлено через 10 минут
ну и без sort,мы такое не учили еще,,,так что мне не поверят.....

Добавлено через 2 минуты
типа пузырьковая сортировка,,или еще как то но не так??
0
Nameless One
Эксперт С++
5775 / 3425 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
30.03.2010, 13:07 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
 
int main()
{
    std::string str;
    std::getline(std::cin, str);
    std::cout << "Unsorted string: \'" << str << "\'" << std::endl;
    for(size_t i=0; i<str.size(); ++i)
        for(size_t j=str.size()-1; j>i; --j)
            if(str[j-1]>str[j])
            {
                char temp=str[j];
                str[j]=str[j-1];
                str[j-1]=temp;
            }
    std::cout << "Sorted string: \'" << str << "\'" << std::endl;
    system("pause");
    return 0;
}
Добавлено через 4 минуты
Что конкретно неправильно в твоем примере:
  1. Тебе нужно посчитать длину введенной строки, и уже ее использовать в цикле, а не число 255
  2. Сравнивать надо два соседних символа: a[j] и a[j+1], причем j меняется от в пределах от i+1 до size-1, где size - размер строки
0
30.03.2010, 13:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.03.2010, 13:07
Привет! Вот еще темы с ответами:

подсчет букв во втором слове - C++
необходимо подсчитать количество букв &quot;А&quot; (англ) в предложении во втором слове. предложение по английски пишется

Количество различных букв в слове - C++
Здравствуйте! Смысл задачи в том, чтобы в предложении найти для каждого слова количество его различных букв (символов). Вот мой код: ...

Подсчитать количество букв k в последнем слове - C++
Всем привет, помогите с задачкой Дана символьная строка. Подсчитать количество букв k в последнем ее слове

Определите количество повторяющихся букв в слове - C++
Определите количество повторяющихся букв в слове.


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

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

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