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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ экспрес ругается на #include "stdafx.h". Что делать? http://www.cyberforum.ru/cpp-beginners/thread220772.html
запуская программу в ВС Экспресс 2008. выдает вот такую ошибку: Не удается открыть файл include: stdafx.h: No such file or directory что делать,расскажите пожалуйста) Добавлено через 4 минуты...
C++ «Линейный и разветвляющийся алгоритмы» Составить программу для вычисления Yи Z по заданным формулам, определить min(Y;Z). Y =-(4x^2+a^2/3)^1/2 Z = (5*cos(x*a)^3-1)/((x*a)^1/3+2,5) Помогите ,ПОЖАЛУЙСТА,найти ошибки в программе. ... http://www.cyberforum.ru/cpp-beginners/thread220771.html
C++ ООП-отчет
помогите написать отчет, очень нужно!!!!! /*Определить класс "квадратная матрица", операции матричного умножения, сложения, вычитания, транспонирования, доступ к элементу матрицы по его...
Внутреннее использование strtok C++
Добрый вечер. Нужна Ваша срочная помощь. Мне нужно разбирать 2 строки на слова и каждое слово первой строки сравнить со словами второй, все было бы просто, но вот внутренное использование функции...
C++ Арифм.Прогрессия http://www.cyberforum.ru/cpp-beginners/thread220748.html
Уже целый день сижу над задачей, но покачто получался только бред... Вот сама задача: Добавить к некоторой последовательности A=(ai), i=1..n, n<=100, наименьшее число элементов, чтобы ...
C++ Список указателей Имеется структура данных, состоящая из 2 ух полей, необходимо создать отсортированный список указателей на эту структуру. Как создать отсортированный список структур я понимаю, а вот с указателями... подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт CЭксперт С++
9695 / 5645 / 963
Регистрация: 25.07.2009
Сообщений: 10,848
01.02.2011, 00:42
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int asc_cmp(const void * a, const void * b) { return strlen(*(char**)a) - strlen(*(char**)b); }
 
#define DELIM " \t\n"
 
int main(void){
    char buf[BUFSIZ], * p, ** words;
    size_t i, count;
    
    while ( printf("\nString: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' ){
        words = NULL;
        count = 0;
        for ( p = strtok(buf, DELIM); p; p = strtok(NULL, DELIM) ){
            if ( ( words = (char**)realloc(words, sizeof(char*) * (count + 1)) ) == NULL ){
                perror("realloc");
                exit(1);
            }
            if ( ( words[count++] = strdup(p) ) == NULL ){
                perror("strdup");
                exit(1);
            }
        }
        if ( ! words || ! count ){
            fprintf(stderr, "No words in row!\n");
            continue;
        }
        qsort(words, count, sizeof(char*), asc_cmp);
        for ( i = 0; i < count; ++i )
            printf("%s\n", words[i]);
        
        while ( count )
            free(words[--count]);
        free(words);
    }
    
    exit(0);
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru