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

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

16.11.2016, 17:53. Показов 584. Ответов 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,630
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
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru