carve
1

Упорядочить и вывести строки в порядке возрастания значений их длины

22.01.2013, 19:25. Показов 2459. Ответов 1
Метки нет (Все метки)

Пользователь задает с консоли несколько строк (не больше 10). Упорядочить и вывести строки в порядке возрастания значений их длины.
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.01.2013, 19:25
Ответы с готовыми решениями:

Упорядочить строки матрицы в порядке возрастания их последних элементов
Дана матрица А размера n m. Упорядочить строки матрицы в порядке возрастания их последних...

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

Упорядочить в порядке возрастания первые N элементов массива
Задано массив чисел Q(y). Определить количество N отрицательных элементов массива и упорядочить в...

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

1
213 / 202 / 85
Регистрация: 09.05.2012
Сообщений: 494
22.01.2013, 19:52 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
#include <stdio.h>
#include <string.h>
#define MAX_STR_LEN 80
 
int main(){
    int i, j, n = 10;
    printf("Enter n:"); scanf("%d%*c", &n);
    
    char** strings = (char**)calloc(n, sizeof(char*));
    for(i = 0; i < n; i++){
        strings[i] = (char*)calloc(MAX_STR_LEN, sizeof(char));
        printf("Enter string #%d: ", i + 1);
        fgets(strings[i], MAX_STR_LEN - 1, stdin);
    }
    for(i = 0; i < n - 1; i++){
        for(j = i + 1; j < n; j++){
            if(strlen(strings[i]) > strlen(strings[j])){
                char* t = strings[i];
                strings[i] = strings[j];
                strings[j] = t;
            }
        }
    }
    
    for(i = 0; i < n; i++){
        printf("String #%d: %s", i + 1, strings[i]);
    }
    
    for(i = 0; i < n; i++)
        free(strings[i]);
    free(strings);
    return 0;
}
результат работы:
Упорядочить и вывести строки в порядке возрастания значений их длины
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.01.2013, 19:52
Помогаю со студенческими работами здесь

Упорядочить массив в порядке возрастания методом стандартного обмена
Помогите , пожалуйста , решить задачу... Дана действительная матрица размерности . Проверить...

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

Написать программу, которая позволяет упорядочить три целых числа в порядке возрастания
Написать программу, которая позволяет упорядочить три целых числа в порядке возрастания....

Упорядочить элементы одномерного массива расположенных на четных позициях в порядке возрастания методом пузырька
Упорядочить элементы одномерного массива расположенных на четных позициях в порядке возрастания....


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru