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

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

Войти
Регистрация
Восстановить пароль
 
brix
0 / 0 / 0
Регистрация: 02.02.2014
Сообщений: 12
#1

Сортировка массива фамилий - C++

20.10.2016, 21:03. Просмотров 214. Ответов 6
Метки нет (Все метки)

Мужики нужна помощь, необходимо сортировать массив по фамилиям.. в с ++ не особо, всегда делаю методом тыка, тут что-то не выходит... думаю по такому куску не понятно, поэтому и прикрепил архив программы.... Вообще суть работы дана такая:
+1. Создайте новый проект, используйте исходный код примера 7.16 – 7.18.(+10%)
+2. Внесите изменения в проект, так чтобы в классе GradeBook, имелся элемент
данное, представляющее собой массив с фамилиями студентов.
+3. Внесите изменения в проект, чтобы список с фамилиями студентов печатался после исходного вида отсортированный по оценкам студентов.(+50%)
4. Внесите изменения в проект, чтобы список с фамилиями студентов печатался после исходного вида отсортированный по фамилиям студентов.(+40%)
Первые три пунка сделал, необходима помощь с четвертым
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
void GradeBook::sort(char * words[], int size_array)
{
  int size_array=sizeof(words)/sizeof(char *);
   int n, m, code;
   char * temp;
   for (n=1; n<size_array;n++)
  {
       code=strcmp(words[m+1],words[m]);
       if (code<0)
       {
           temp=words[m];
            words[m]=words[m+1];
           words[m+1]=temp;
       }
        }
void GradeBook::outputSortirovkaFamilii()
{
cout << "\nSortirovka po familiam:\n\n";
//
sort(Array,students);
// вывести оценку каждого студента
for ( int student = 0; student < students; student++ )
cout << Array[student] << setw( 2 ) << ":"
<< setw( 3 ) << grades[ student ] << endl;
}
GradeBook.rar
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2016, 21:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сортировка массива фамилий (C++):

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

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

Сортировка фамилий по алфавиту - C++
В исходном файле input.txt дано несколько фамилий. Нужно отсортировать их по алфавиту и вставить в файл output.txt. Содержимое input.txt и...

Сортировка фамилий по алфавиту - C++
В структуре (Рабочие), которая записана в двоичный файл, требуется отсортировать фамилии работников по алфавиту (ну еще найти кол-во...

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

Сортировка фамилий по алфавиту в файле - C++
В файле записаны фамилии и через пробел номера. Необходимо отсортировать этот &quot;телефонный справочник&quot; по алфавиту, то есть по фамилиям...

6
zss
Модератор
Эксперт С++
6403 / 5969 / 1945
Регистрация: 18.12.2011
Сообщений: 15,377
Завершенные тесты: 1
20.10.2016, 22:43 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void sort(char * words[], int size_array)
{
   for (int n=0; n<size_array;n++)
   for (int m=n; m<size_array-1;m++)
  {
       int code=strcmp(words[m+1],words[m]);
       if (code<0)
       {
           char temp[100];
           strcpy(temp,words[m]);
           strcpy(words[m],words[m+1]);
           strcpy(words[m+1],temp);
       }
   }
}
Функция не использует данных класса, поэтому она ему не должна принадлежать
0
brix
0 / 0 / 0
Регистрация: 02.02.2014
Сообщений: 12
20.10.2016, 23:09  [ТС] #3
zss,В классе я её инициализирую

Добавлено через 7 минут
zss, Использовал код который вы написали, компиляция проходит успешно, но при запуске программы выбивает завершение работы

Добавлено через 11 минут
zss, ошибка происходит в при вызове функции сортировки sort(Array,students)
0
zss
Модератор
Эксперт С++
6403 / 5969 / 1945
Регистрация: 18.12.2011
Сообщений: 15,377
Завершенные тесты: 1
21.10.2016, 07:59 #4
Как пользоваться отладчиком (в Visual Studio)
0
brix
0 / 0 / 0
Регистрация: 02.02.2014
Сообщений: 12
21.10.2016, 09:12  [ТС] #5
zss, спасибо, я уже исправил всё
0
marat_miaki
107 / 96 / 36
Регистрация: 08.04.2013
Сообщений: 346
21.10.2016, 10:54 #6
Проект придется переписать, как ты хочешь связать 2 массива, лучше сразу переходи на структуру, посмотрел на сортировку по оценкам, а какой будет результат если у 2х и более студентов одинаковые оценки?
0
brix
0 / 0 / 0
Регистрация: 02.02.2014
Сообщений: 12
21.10.2016, 12:57  [ТС] #7
marat_miaki, спасибо за предложение. Уже всё работает, добавил в сортировку по оценкам чтобы и фамилии меняла местами, аналогично в сортировке по фамилиям, повтор оценок теперь допустим. А так можно было ещё одно условие добавить
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2016, 12:57
Привет! Вот еще темы с ответами:

Структуры.Сортировка фамилий по алфавиту - C++
Не могу отсортировать по фамилиям.Необходимо использовать функцию bool compare(){...},чтобы сравнить две фамилии.Как это сделать?Что нужно...

Быстрая сортировка(сортировка Хоара). Отсортировать фрагмент массива - C++
Мне нужно отсортировать фрагмент массива, расположенный между первым и последним отрицательным элементом. Немогу понять как устоновить...

Сортировка массива: перенести положительные числа в начало, а отрицательные - в конец массива - C++
Дан вещественный массив A(N). Отсортировать его таким образом, чтобы все положительные числа находились в начале, а отрицательные - в конце...

Сортировка массива. Ошибка после ввода размерности массива - C++
подскажите почему после ввода размерности массива выдает ошибку #include&lt;iostream&gt; #include&lt;cstdlib&gt; #include&lt;conio&gt; using...


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

Или воспользуйтесь поиском по форуму:
7
Yandex
Объявления
21.10.2016, 12:57
Ответ Создать тему
Опции темы

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