Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
FatherBoard
0 / 0 / 0
Регистрация: 10.11.2018
Сообщений: 7
Завершенные тесты: 1
1

Сортировка массива строк по первым буквам в алфавитном порядке

30.12.2018, 23:04. Просмотров 1425. Ответов 2

Есть некоторые проблемы с реализацией этой простой задачи. После ввода последней строки прога вылетает.

Код:

C++ (Qt)
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
#include <iostream>
#include <string>
using namespace std;
 
int main() {    
 
    const int n = 3; // пока что статика, будет сортировка - будет и динамика
 
    string names[n];
    
    for (int i = 0; i < n; i++) {
        cout << "name " << i + 1 << ": " ;
        cin >> names[i];
    }
 
    string temp;
 
    for (int i = 0; i < n; i++) {
        if (names[i][0] > names[i + 1][0]) {
            temp = names[i];
            names[i] = names[i + 1];
            names[i + 1] = temp;
        }
    }
 
    // вывод отсортированного массива
    for (int i = 0; i < n; i++) {
        cout << names[i] << endl;
    }
 
    system("Pause");
    return 0;
}
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.12.2018, 23:04
Ответы с готовыми решениями:

Сортировка строк в алфавитном порядке
Помогите пожалуйста написать программу для сортировки строк в алфавитном порядке Программа...

Сортировка строк в алфавитном порядке
Собственно сабж) Вроде бы сделал что-то похожее, но ошибка запрета доступа, если вводить строки с...

Сортировка строк матрицы в алфавитном порядке
Создаем двумерный динамический массив в котором надо отсортировать строки в алфавитном порядке. ...

Сортировка строк в алфавитном порядке (переделать на wstring)
Доброго времени суток. Рыскал по форуму и нашел замечательный код сортировки строк в алфавитном...

Отсортировать текст по буквам в алфавитном порядке
Нужна помощь. Нужно отсортировать текст по буквам в алфавитном порядке С++. Текст берется их...

2
Yetty
3332 / 2284 / 1488
Регистрация: 18.12.2017
Сообщений: 7,241
31.12.2018, 00:57 2
Лучший ответ Сообщение было отмечено FatherBoard как решение

Решение

Цитата Сообщение от FatherBoard Посмотреть сообщение
names[i + 1]
выход за пределы массива при i=n-1

вроде так работает:
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
#include <iostream>
#include <string>
using namespace std;
 
int main() 
{ 
    int n;
    cout <<"n="; cin >>n;
 
    string *a = new string[n];
    
    cin.ignore();
    for (int i = 0; i < n; i++) {
        cout << "string " << i + 1 << ": " ;
        getline(cin, a[i]);
    }
 
    for (int j = 1; j < n; j++)    
        for (int k = 0; k < n-j; k++)        
            if (a[k]>a[k+1])               
                swap(a[k],a[k+1]);             
 
    // вывод отсортированного массива
    for (int i = 0; i < n; i++) {
        cout << a[i] << endl;
    }
    
    delete[]a;
    system("Pause");
    return 0;
}
0
FatherBoard
0 / 0 / 0
Регистрация: 10.11.2018
Сообщений: 7
Завершенные тесты: 1
01.01.2019, 03:10  [ТС] 3
Спасибо, с новым годом, всё работает

Добавлено через 26 минут
И ещё обьясните пожалуйста использование двумерного массива, не могу понять как он роботает
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.01.2019, 03:10

Сортировка массива структур в алфавитном порядке фамилий
Основная часть: Каждый элемент исходного массива представляет собой запись содержащую следующие...

Сортировка массива строк в лексикографическом порядке 4 способами
sort, версия 1.1 - написать класс для хранения массива строк и 6 методов: - чтение массива строк...

Сортировка в алфавитном порядке...
Здравствуйте, не могли бы вы помочь мне с задачей? Просто мы на лекциях ещё не разобрали как...


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

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

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