Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/29: Рейтинг темы: голосов - 29, средняя оценка - 4.93
1 / 1 / 2
Регистрация: 10.06.2013
Сообщений: 71

Сортировка символьного массива

28.09.2014, 13:15. Показов 5799. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Данная программа, по идее, должна сортировать символьный массив пузырьком. Но почему-то не сортирует.

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
#include <iostream>
#include <fstream>
#include <conio.h>
#include <string>
 
using namespace std;
 
int main()
{
    int n,i;
    char tmp;    
    cout<<"Pls input you word and size:"<<"\nsize:";
    cin>>n;
    char mass[n];
    cout<<"\nword:";
    for (i=0;i<n;i++)
    {
        cout<<"\nPls input next simbol";
        cin>>mass[i];
        }
    cout<<mass<<"\t"<<n;
    for (i=0;i<n;i++)
    {
        if(mass[i]!=mass[i+1])
        {
                              tmp<<mass[i];
                              mass[i]<<mass[i+1];
                              mass[i+1]<<tmp;
                              cout<<mass[i+1]<<"\t";
                              }
        }
    cout<<"\n"<<mass;
    system("pause");
}
Добавлено через 7 минут
А... ну там равно надо, да. Мы же не с потоками работаем... или как это правильно назвать.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.09.2014, 13:15
Ответы с готовыми решениями:

Сортировка символьного массива
Помогите пожалуйста написать прогу на C++!!! Нужно отортировать матрицу из симовлов по первому столбцу, в случае если есть повторяющиеся...

Сортировка символьного массива по алфавиту
Заданы два символьных массива, заполненных строчными латинскими буквами. Объединить их в один массив так, чтобы все буквы оказались...

Сортировка одномерного символьного массива из файла
//Пузырьковая сортировка по убыванию (прямое направление) вот прога. считывает и выводит на экран буквы из файла &quot;in.txt&quot; ...

5
117 / 114 / 65
Регистрация: 18.09.2014
Сообщений: 337
28.09.2014, 13:29
TheZimbabve, сортировка пузырьком выглядит по другому...
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    string line;
    if (argc > 1) line = argv[1];
    else cin >> line;
    int count = line.length();
    for (int i = 0; i < count-1; ++i)
        for (int j = 0; j < count-1; ++j)
            if (line[j] < line[j+1]) { char temp = line[j]; line[j] = line[j+1]; line[j+1] = temp; }
    cout << "Result: " << line << endl;
    system("pause");
    return 0;
}
0
1 / 1 / 2
Регистрация: 10.06.2013
Сообщений: 71
28.09.2014, 13:31  [ТС]
А разница? Ваш метод идентичен моему. Разве что оформлен иначе.
0
117 / 114 / 65
Регистрация: 18.09.2014
Сообщений: 337
28.09.2014, 13:33
TheZimbabve, хотя бы в том, что в сортировке пузырьков используются 2 вложенных цикла i = 0 .. n-1 и j = 0 .. n-1, а у вас
C++
1
2
3
4
5
6
7
8
9
10
for (i=0;i<n;i++)
    {
        if(mass[i]!=mass[i+1])
        {
                              tmp<<mass[i];
                              mass[i]<<mass[i+1];
                              mass[i+1]<<tmp;
                              cout<<mass[i+1]<<"\t";
                              }
        }
0
1 / 1 / 2
Регистрация: 10.06.2013
Сообщений: 71
28.09.2014, 13:43  [ТС]
Понял, осознал.

Добавлено через 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
#include <iostream>
#include <fstream>
#include <conio.h>
#include <string>
 
using namespace std;
 
int main()
{
    int n,i,j;
    char tmp;    
    cout<<"Pls input you word and size:"<<"\nsize:";
    cin>>n;
    char mass[n];
    cout<<"\nword:";
    for (i=0;i<n;i++)
    {
        cout<<"\nPls input next simbol";
        cin>>mass[i];
        }
    cout<<mass<<"\t"<<n;
    for (i=0;i<n-1;i++)
    {
        if(mass[i]!=mass[i+1])
        {
                              tmp=mass[i];
                              mass[i]=mass[i+1];
                              mass[i+1]=tmp;
                              j++;
                              }
        }
    cout<<"\n"<<mass;
    system("pause");
}
Такая штука работает идентично, и вписывается в метод пузырька (сравнение двух соседних элементов). Просто его несколько иная реализация. Или я не прав и метод пузырька имеет единственный метод реализации?
0
117 / 114 / 65
Регистрация: 18.09.2014
Сообщений: 337
28.09.2014, 13:49
TheZimbabve, за 1 проход по массиву не получится переставить все элементы на свои места
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.09.2014, 13:49
Помогаю со студенческими работами здесь

Сортировка символьного массива в порядке убывания количества букв
Мне нужно сначала: 1 - спросить у человека строку 2 - надо посчитать количество вхождений каждой буквы ( то есть если в строке...

Заполнение массива значениями из символьного массива
есть массив символов char z;есть целочисленный массив int b;каждый символ z это цифра 0-9 нужно в b записать символ z(не код символа а...

Перебор символьного массива
Помогите, не могу написать прграмму которая добавляет символ. Например: вводим D:\myfolder\secondfolder\ , а выводим...

Инициализация символьного массива
Не получается инициализировать в программе символьный массив #include &lt;iostream&gt; using namespace std; struct names{ char...

Обработка символьного массива
Итак, задание: Без использования конструкции string написать программу ввода и вывода необходимого текста с клавиатуры. Ввод...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru