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

Сортирование нескольких строк как сделать?

16.11.2016, 17:53. Показов 611. Ответов 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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include "stdafx.h" 
#include<iostream> 
#include<fstream> 
#include <clocale> 
        using namespace std;
        char** sort(char**, int n);
        int main()
        {
            int n = 1000, i, j;
            setlocale(LC_ALL, "Russian");
            ifstream ff("d:\\ddd\\input.txt");  // укажите полный путь к файлу 
            ofstream of("d:\\ddd\\output.txt"); // Файл для отсортированного масссива  
            if (ff)                             // чтение из файла
            {
                char** s = new char*[n];
                for ( i = 0; i < n; i++)
                    s[i] = new char[100];
 
                int j = 0;
                while (j < n && ff.getline(s[j], 100, ' '))  // преоброзование текста в построчный массив слов
                    j++;
 
                cout << "До сортировки:" << endl;
                for ( i = 0; i < j; i++)    ///////////////////////////////////////////////////////
                    cout << s[i] << endl;   // вывод построчного массива слов удалением пробелов //
                s = sort(s, j);             // на консольное приложение ///////////////////////////
 
                cout << endl << "После сортировки:" << endl; 
                for ( i = 0; i < j; i++)                     
                {                                           
                    cout << s[i] << endl;   // вывод массива после сортировки слов по алфавиту
                    of << s[i] << endl;
                }
                for ( i = 0; i < j; i++)
                    delete[] s[i];                      
                delete[] s;
            }
            else
                cout << "файл не открылся";   //выводится если файл не нашелся
            system ("pause");
            return 0;
        }
        char** sort(char **s, int n)        // процесс сортировки
        {
            int k = 0;
            for (int i = 0; i < n - 1; i++)
                for (int j = i + 1; j < n; j++)
                {
                    k = 0;
                    if (s[i] != s[j]) {
                        while (s[i][k] == s[j][k]) k++;
                        if (s[i][k] > s[j][k])
                        {
                            char *s2 = s[i];
                            s[i] = s[j];
                            s[j] = s2;
                        }
                    }
                }
            return s;
        }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.11.2016, 17:53
Ответы с готовыми решениями:

Сделать выделение нескольких строк ListView мышкой
Т.е. мне нужна реализация прямоугольника выделения мышкой несколько items. Желательно решение в виде xaml. Я просто даже не знаю с чего...

Сделать запрос суммы нескольких строк в БД и вывести в соответствии с максимальной суммой
Здравствуйте. Помогите сделать запрос к БД. Дано: таблица в БД history_pay В ней интересуют 2 поля: user_id pay_summ Нужно: ...

Как сделать перемещение нескольких файлов с заменой? И как это сделать проще?
Как сделать перемещение нескольких файлов с заменой? Например я ввожу в текстбокс название файлов, потом эти файлы переношу в...

2
1498 / 1213 / 821
Регистрация: 29.02.2016
Сообщений: 3,631
16.11.2016, 18:27
Сортировка массива строк
Сортировка строк в алфавитном порядке
0
0 / 0 / 1
Регистрация: 06.12.2015
Сообщений: 215
16.11.2016, 18:43  [ТС]
Цитата Сообщение от idris97 Посмотреть сообщение
char** s = new char*[n];
* * * * * * * * for ( i = 0; i < n; i++)
* * * * * * * * * * s[i] = new char[100];
afront, вот эту часть менять надо?

Добавлено через 8 минут
afront,
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include "stdafx.h" 
#include<iostream> 
#include<fstream> 
#include <clocale> 
#include <string>
        using namespace std;
        char** sort(char**, int n);
        int main()
        {
            int n = 1000, i, j;
            setlocale(LC_ALL, "Russian");
            ifstream ff("input.txt");   // укажите полный путь к файлу 
            ofstream of("output.txt"); // Файл для отсортированного масссива  
            if (ff)                             // чтение из файла
            {
                char *temp;
                for ( i = 0; i < n; i++)
                    for (j=0; j<n-i-1; j++)
                        if (strcmp (s[j], s[j+1]>0)
                        {
                            temp =s[j];
                            s[j]=s[j+1];
                            s[j+1]=temp;
                        }
                    
 
                int j = 0;
                while (j < n && ff.getline(s[j], 100, ' '))  // преоброзование текста в построчный массив слов
                    j++;
 
                cout << "До сортировки:" << endl;
                for ( i = 0; i < j; i++)    ///////////////////////////////////////////////////////
                    cout << s[i] << endl;   // вывод построчного массива слов удалением пробелов //
                s = sort(s, j);             // на консольное приложение ///////////////////////////
 
                cout << endl << "После сортировки:" << endl; 
                for ( i = 0; i < j; i++)                     
                {                                           
                    cout << s[i] << endl;   // вывод массива после сортировки слов по алфавиту
                    of << s[i] << endl;
                }
                for ( i = 0; i < j; i++)
                    delete[] s[i];                      
                delete[] s;
            }
            else
                cout << "файл не открылся";   //выводится если файл не нашелся
            system ("pause");
            return 0;
        }
        char** sort(char **s, int n)        // процесс сортировки
        {
            int k = 0;
            for (int i = 0; i < n - 1; i++)
                for (int j = i + 1; j < n; j++)
                {
                    k = 0;
                    if (s[i] != s[j]) {
                        while (s[i][k] == s[j][k]) k++;
                        if (s[i][k] > s[j][k])
                        {
                            char *s2 = s[i];
                            s[i] = s[j];
                            s[j] = s2;
                        }
                    }
                }
            return s;
        }
сделал ошибки показывает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.11.2016, 18:43
Помогаю со студенческими работами здесь

Как сделать автозаполнение строк, которые зависят от строк другого столбца
Нужно сделать автоматическое заполнение строк столбца, зависимого от значений другого столбца, т.е например А B 1 1 луч 1 2 кот ...

Изменение запроса в зависимости от выбранных строк в нескольких DbGrid (в SQL получить значения из нескольких DataSet)
Здравствуйте. Есть таблицы и компоненты: Tbl_authors – Таблица авторов. С ней связаны компоненты: - ADOTable_authors, -...

Добавление нескольких строк из нескольких input text ов в БД
Здравствуйте! Проблема в том, что у меня не добавляются строки в БД, они добавляются пустыми постоянно я пробовал менять по-разному, но...

Как добавить\убрать комментарии с нескольких строк
Есть код с комментариями такого вида: // строка 1 // строка 2 // строка 3 // еще много много строкЕсть какая то кнопка в...

Как подсчитать количество строк в нескольких файлах?
Здравствуйте! Использовал такой код: Dim mString() = IO.File.ReadAllLines(&quot;1.txt&quot;, System.Text.Encoding.Default) ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
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. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru