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

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

Войти
Регистрация
Восстановить пароль
 
ds102061
2 / 2 / 2
Регистрация: 13.10.2010
Сообщений: 144
#1

Упорядочить список группы в алфавитном порядке - C++

12.04.2011, 20:20. Просмотров 867. Ответов 12
Метки нет (Все метки)

Составить программу, которая упорядочивает список группы в алфавитном порядке. Максимальное число вводимых фамилий 30, максимальное число букв в фамилии 20.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2011, 20:20
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Упорядочить список группы в алфавитном порядке (C++):

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

Упорядочить слова в алфавитном порядке - C++
Помогите, пожалуйста, исправить ошибки.. Задание было такое: Дана строка, содержащая символы. Часть этих символов заключена в парные ...

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

Упорядочить символы массива в алфавитном порядке - C++
Даны строки A и B. Если строки состоят из одних и тех же символов и в A нет повторяющихся символов, то упорядочить символы A в алфавитном...

Упорядочить символы в исходной строке в алфавитном порядке - C++
Написать программу, которая: -получает из стандартного потока ввода фамилию студента; -упорядочивает символы в исходной строке в...

Упорядочить массив из n символов методом пузырька в алфавитном порядке. - C++
Упорядочить массив из n символов методом пузырька в алфавитном порядке.

12
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
13.04.2011, 03:18 #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 <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int CompareStrings(const void *a, const void *b) {
  return strcmp(*(char**)a, *(char**)b);
}
 
int main(int argc, char *argv[]) {
  size_t max_list_size = 30;
  size_t list_size = 0;
  size_t buffer_size = 1024;
  size_t i;
  char **list;
  list = (char**)malloc(sizeof(char*) * max_list_size);
 
  char *buffer = (char*)malloc(buffer_size);
  while (fgets(buffer, buffer_size, stdin) && list_size < max_list_size) {
    size_t buffer_length = strlen(buffer);
    list[list_size++] = strncpy((char*)malloc(buffer_length), buffer,
                                buffer_length - 1);
  }
  free(buffer);
 
  qsort(list, list_size, sizeof(char*), CompareStrings);
 
  for (i = 0; i < list_size; ++i)
    printf("%s\n", list[i]);
 
  for (i = 0; i < list_size; ++i)
    free(list[i]);
  free(list);
  return 0;
}
1
ds102061
2 / 2 / 2
Регистрация: 13.10.2010
Сообщений: 144
25.04.2011, 18:56  [ТС] #3
как остановить программу?
0
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
25.04.2011, 19:00 #4
Прервать выполнение консольной программы можно сочетанием клавиш Ctrl+C.
0
ds102061
2 / 2 / 2
Регистрация: 13.10.2010
Сообщений: 144
25.04.2011, 19:12  [ТС] #5
программа что-то не хочет работать
программа спрашивает 31 раз и в конце просто СИ закрывается
0
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
25.04.2011, 19:27 #6
Остановить добавление строк можно символом конца потока вместо ввода строки. Этот символ вставляется сочетанием клавиш в Windows - Ctrl+Z, в линукс/юникс - Ctrl+D.

Действительно. В цикле надо поменять местами условия. Тогда не будет лишний раз спрашивать.
C
1
while (list_size < max_list_size && fgets(buffer, buffer_size, stdin)) {
0
ds102061
2 / 2 / 2
Регистрация: 13.10.2010
Сообщений: 144
25.04.2011, 20:43  [ТС] #7
все равно си закрывается в конце
0
Xtir
25.04.2011, 20:59
  #8

Не по теме:

а есть разница между int и size_t?

0
neske
1503 / 870 / 84
Регистрация: 26.03.2010
Сообщений: 2,985
25.04.2011, 21:00 #9
есть.
0
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
25.04.2011, 21:07 #10
Цитата Сообщение от ds102061 Посмотреть сообщение
все равно си закрывается в конце
Закрывается не "си", а терминал, в котором выполняется программа, после завершения работы этой самой программы. Запустите терминал (в винде это cmd) и запустите из него программу. Ну или добавьте в конце кода программы, но перед "return 0;" ввод какой угодно переменной, например scanf("%d", &i);

Не по теме:

Цитата Сообщение от Xtir Посмотреть сообщение
Не по теме:
а есть разница между int и size_t?
Да.

0
ds102061
2 / 2 / 2
Регистрация: 13.10.2010
Сообщений: 144
17.05.2011, 21:26  [ТС] #11
Цитата Сообщение от lemegeton Посмотреть сообщение
Ну или добавьте в конце кода программы, но перед "return 0;" ввод какой угодно переменной, например scanf("%d", &i);.
все равно закрывается СИ, а где расположен cmd
0
neske
1503 / 870 / 84
Регистрация: 26.03.2010
Сообщений: 2,985
17.05.2011, 21:32 #12
..
пуск - выполнить - cmd.
0
ds102061
2 / 2 / 2
Регистрация: 13.10.2010
Сообщений: 144
29.05.2011, 15:49  [ТС] #13
что означает
C
1
2
 free(buffer);
qsort(list, list_size, sizeof(char*), CompareStrings);
разъясните пожалуйста

Добавлено через 31 минуту
после остановки с помощью Ctrl+Z рузультат выводит ввиде процентов
почему
0
29.05.2011, 15:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2011, 15:49
Привет! Вот еще темы с ответами:

Упорядочить в каждой строке текста слова в алфавитном порядке - C++
Помогите пожалуйста. Очень срочно нужна помощь людей, знающих С. Нужно написать программу в которой: Задан текст, содержащий произвольное...

Дается строка символов, упорядочить символы в алфавитном порядке - C++
дается строка символов,упорядочить символы в алфавитном порядке.

В заданной строке найти и упорядочить в алфавитном порядке слова, начинающиеся с прописной буквы - C++
Здравствуйте,помогите,пожалуйста,разобраться.Необходимо вывести в алфавитном порядке слова, начинающиеся с прописных букв for (int i = 0;...

Ввести список отсортировать в алфавитном порядке - C++
Есть задание ввести список с неопределенного количества елементов конец списка любое слово 0 или end не имеет значения(список создается...


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

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

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