Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
2 / 2 / 1
Регистрация: 03.10.2013
Сообщений: 20

Отсортировать список в порядке их возрастания

12.01.2014, 14:47. Показов 915. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, хотелось бы попросить помочь с задачей.
Дан расположенный в файле список слов. Отсортировать список в порядке
их возрастания и записать результат в файл.
Входной файл - input.txt:
первая строка - количество слов (<=20),
вторая и далее строка - одно слово.
Выходной файл - output.txt: каждая срока - одно слово отсортированного списка.

Для подсчёта размера слова, используется эта функция:
C
1
2
3
4
5
int KE(char strF[]){
    int i=-1;
    while (strF[++i]);
    return i;
}
Содержание входного файла - произвольное.
Спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.01.2014, 14:47
Ответы с готовыми решениями:

Отсортировать элементы строк матрицы в порядке возрастания, а строки - в порядке возрастания сумм элементов
Задать с клавиатуры количество целочисленных матриц. Данные получить с помощью датчика случайных чисел RANDOM. Отсортировать элементы...

Отсортировать четные строки матрицы Q(10х10) в порядке убывания, а нечетные – в порядке возрастания
Написать программу на си, задание: Отсортировать четные строки матрицы Q(10х10) в порядке убывания, а нечетные – в порядке возрастания....

Отсортировать строки матрицы в порядке возрастания
Отсортировать строки матрицы М (8х5) в порядке возрастания. Вот код#include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; ...

1
...
 Аватар для anmartex
1910 / 1329 / 966
Регистрация: 12.02.2013
Сообщений: 2,172
12.01.2014, 17:35
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
typedef char String[32];
 
//-----------------------------------------------------------------------------
FILE* FileOpen(const char fname[], const char attr[])
{
    FILE* f = fopen(fname, attr);
 
    if (f == NULL)
    {
        perror(fname);
        exit(EXIT_FAILURE);
    }
 
    return f;
}
//-----------------------------------------------------------------------------
unsigned GetLine(char* buff, unsigned size, FILE* f)
{
    unsigned len = 0;
    char ch;
 
    for (; ((ch = fgetc(f)) != EOF) && (ch != '\n') && len < (size - 1); ++len)
    {
        *buff++ = ch;
    }
 
    *buff = 0;
 
    return len;
}
//-----------------------------------------------------------------------------
unsigned Load(FILE* f, String** array)
{
    String buff;
    fgets(buff, sizeof(String), f);
 
    int size = atoi(buff);
 
    if (size < 1)
    {
        fprintf(stderr, "size is null ...");
        exit(EXIT_FAILURE);
    }
 
    *array = malloc(sizeof(String) * size);
 
    int i = 0;
 
    while ((GetLine(buff, sizeof(buff), f)) && (i < size))
    {
        strcpy((*array)[i++], buff);
    }
 
    return i;
}
//-----------------------------------------------------------------------------
int StrLenCmp(const void* first, const void* second)
{
    return strlen((const char*) first) - strlen((const char*) second);
}
//-----------------------------------------------------------------------------
void Print(FILE* f, String* array, unsigned size)
{
    unsigned i;
 
    for (i = 0; i < size; ++i)
    {
        fprintf(f, "%s\n", array[i]);
    }
}
//-----------------------------------------------------------------------------
 
int main()
{
    FILE* finput = FileOpen("input.txt", "r");
    FILE* foutput = FileOpen("output.txt", "w");
 
    String* array;
    unsigned size = Load(finput, &array);
 
    qsort(array, size, sizeof(String), StrLenCmp);
 
    Print(stdout, array, size);
    Print(foutput, array, size);
 
    fclose(foutput);
    fclose(finput);
 
    return EXIT_SUCCESS;
}
В принципе функцию GetLine можно заменить на fgets, но тогда учитывайте что символ '\n' будет попадать в строку. Или можно заменить на fscanf(f, "%31s", buff), что тоже будет работать.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.01.2014, 17:35
Помогаю со студенческими работами здесь

Отсортировать строки матрицы в порядке возрастания
1. Упорядочить массив А(50) в порядке убывания методом попарно-обменной перестановки. 2. Отсортировать строки матрицы М(8х5) в порядке...

Три массива отсортировать в порядке возрастания
Вот такая задачка есть у меня три массива M1(10),M2(9),M3(15) и нужно их отсортировать в порядке возрастания помогите пожалуйста а то я...

Отсортировать в порядке возрастания три массива
Вот такая задачка есть у меня три массива M1(10),M2(9),M3(15) и нужно их отсортировать в порядке возрастания. То есть я должен каждый...

Отсортировать четные строки матрицы X (10x9) в порядке убывания, а не четные в порядке возрастания
Отсортировать четные строки матрицы X (10x9) в порядке убывания, а не четные в порядке возрастания. Определить функцию для сортировки одной...

Отрицательные элементы массива отсортировать в порядке возрастания
дана задачка: есть вещественный массив и отрицательные элементы надо отсортировать в порядке возрастания, а остальные элементы без...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru