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

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

Войти
Регистрация
Восстановить пароль
 
FireFist
Сообщений: n/a
#1

Вывод слова, содержащего мин и макс количество символов - C++

22.12.2009, 15:00. Просмотров 466. Ответов 1
Метки нет (Все метки)

Помогите пожалуста! У меня должен быть зачет по ОП, нужно выполнить простенькое задание на обычном С (не ++), а я с языком Си вобще незнаком, в основном на на Делфи все делал раньше.
В общем задание следующее: Нужно вывести слово, содержащее максимальное и минимальное количество символов, строку пользователь вводит с клавиатуры. Выполняется через c=getchar(). Еще хотелось бы чтоб с комментариями - очень хочу разобратся для себя. Заранее спасибо за помощь!
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2009, 15:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывод слова, содержащего мин и макс количество символов (C++):

Мин-макс в списке - C++
не получается найти минимальный и максимальный элементы в списке: struct Node {int d,a; int value; Node *next; //указатель...

Определить макс и мин цифры - C++
Дано натуральное число (вводится с клавиатуры) 1) Определить две его максимальные цифры 2) Определить две его минимальные цифры ...

Мин. и макс. элементы в файле - C++
Не находит мин. и макс. элементы. Где ошибка? int max=0,min=0; while(fin.read((char*)&a,sizeof(a))) { if (a.oboroti > max...

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

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

Одномерный массив макс мин - C++
Вообщем не могу выполнить 1\2 сумму нашел всё работает нормально но вот макс мин не могу найти и поменять местами мб подскажите что куда ) ...

1
easybudda
Модератор
Эксперт CЭксперт С++
9680 / 5630 / 954
Регистрация: 25.07.2009
Сообщений: 10,807
22.12.2009, 16:07 #2
Цитата Сообщение от FireFist Посмотреть сообщение
Выполняется через c=getchar().
Не, с getchar() сложно...
Цитата Сообщение от FireFist Посмотреть сообщение
Еще хотелось бы чтоб с комментариями
А вот это - пожалуйста!
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
    
/* сравнивалка строк по длинне для qsort */
int wrdCmpAsc(const void *a, const void *b){
    return strlen(*(char**)a) - strlen(*(char**)b);
}
 
/* 
    вывести слово, содержащее максимальное и минимальное количество символов, 
    строку пользователь вводит с клавиатуры.
*/
 
int main(void){
    char **words, *pWord, buf[BUFSIZ];
    size_t size;
    
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    
    while ( 1 ){ /* бесконечный цикл */
        printf("Строка: ");
        if ( !fgets(buf, BUFSIZ, stdin) ){ /* прочитать строку */
            fprintf(stderr, "Can't get string!\n");
            exit(1);
        }
        if ( pWord = strrchr(buf, '\n') )
            *pWord = '\0'; /* удалить символ перевода строки */
        
        if ( !*buf )
            break; /* если строка пустая - на выход */
        
        /* разделение строки на массив слов */
        words = NULL;
        size = 0;
        for ( pWord = strtok(buf, " \t"); pWord != NULL; pWord = strtok(NULL, " \t") ){
            if ( ( words = (char**)realloc(words, sizeof(char*) * (size + 1)) ) == NULL ){
                fprintf(stderr, "Memory error!\n");
                exit(1);
            }
            if ( ( words[size] = strdup(pWord) ) == NULL ){
                fprintf(stderr, "Memory error!\n");
                exit(1);
            }
            ++size;
        }
        if ( !words ){
            fprintf(stderr, "Can't find some words!\n");
            exit(1);
        }
        
        /* сортировка массива слов */
        qsort(words, size, sizeof(char*), wrdCmpAsc);
        /* конец сортировки */
        
        /* вывод самого короткого и самого длинного слов */
        printf("Самое короткое: %s\n", *words);
        printf("Самое длинное: %s\n", *(words + size - 1));
        
        /* очистка памяти */
        do {
            free(words[--size]);
        } while ( size );
        free(words);
    }
    
    /* завершение программы */
    exit(0);
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2009, 16:07
Привет! Вот еще темы с ответами:

Матрица мин макс, не правильно выводиться - C++
Дана функция y=f(x), x изменяется x_min от до x_max. Максимальное и минимальное значение функции y=f(x) на интервале xϵ обозначим как...

макс и мин растояние между точками - C++
задача в массиве (х) заданы координаты точек х и в массиве (у) координаты точек у найти макс и мин раст от 1 точки ! вот я попробовал...

Rand(); рамки мин/макс значения - C++
Не могу разобраться, в учебники да и на сайте идёт такой пример // автоматическая рандомизация srand(time(0)); // числа в...

Массив поиск мин-макс элемента - C++
Задание: Определить в массиве элемент, самый большой в своей строчке и самый минимальный в своем столбце. Если токо элемента нет...


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

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

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