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

Вывести слова в порядке убывания количества символов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ СТРОКИ где же взять УРОКИ http://www.cyberforum.ru/cpp-beginners/thread80717.html
Подскажите где взять уроки на строки функции и указатели спс мило berezza9999@gmail.com:friends: Добавлено через 1 минуту Подскажите где взять уроки на строки функции и указатели спс мило berezza9999@gmail.com:friends:Мама, я дура?
C++ УРОКИ ДЛЯ НАЧИНАЮЩИХ Кому надо уроки по С++ под Win 32 console application могу предложить В уроки входит такие теми: -ввод ввивод литерели и.т -if,switch,enum и.т -цикли(while,for,do while) -srand,масиви сортировка -Примери и задачи, 100страниц первая часть есть другая http://www.cyberforum.ru/cpp-beginners/thread80708.html
C++ В одномерном массиве, который состоит из N целых элементов, обчислить произведение элементов массива с парными номерами в С++
В одномерном массиве, который состоит из N целых элементов, обчислить произведение элементов массива с парными номерами в С++
Заменить второе число нулем, если оно больше первого и вывести результат на экран C++
Написать программу, которая вводит с клавиатуры два числа, заменяет второе число нулем, если оно больше первого и выводит результат на экран.
C++ Определение четности числа http://www.cyberforum.ru/cpp-beginners/thread80702.html
Написать программу, которая вводит с клавиатуры число x и выводит сообщение, является ли число четным или нечетным.
C++ Вычислить выражение max(x+y+z, x*y*z)+3 Написать программу, которая вводит с клавиатуры три числа x, y, z и вычисляет max(x+y+z, x*y*z)+3 при помощи операции, условие. На экран должны быть выведены исходные числа и результат вычислений. подробнее

Показать сообщение отдельно
Gravity
 Аватар для Gravity
556 / 550 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
01.01.2010, 20:00     Вывести слова в порядке убывания количества символов
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
#define MAXW 1024
 
int slencmp(const void *p1, const void *p2)
{
    const char *s1, *s2;
 
    s1 = * (char **) p1;
    s2 = * (char **) p2;
    return strlen(s1) - strlen(s2);
}
 
int main(void)
{
    char s[4096], *words[MAXW];
    char *p, *delim = " -:,.!?";
    int i, nw;
 
    printf("Enter string: ");
    if(fgets(s, sizeof(s), stdin) == NULL || *s == '\n')
        return 1;
    
    if(p = strrchr(s, '\n'))
        *p = '\0';
    
    for(i = 0, p = s; i < MAXW && (p = strtok(p, delim)); i++, p = NULL)
        words[i] = strdup(p);
    
    nw = i;
    qsort(words, nw, sizeof(char *), slencmp);
    for(i = nw - 1; i >= 0; i--)
        printf("%s\n", words[i]);
    
    return 0;
}
 
Текущее время: 20:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru