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

найти max и min по длине слово - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Передача файлового потока в функцию http://www.cyberforum.ru/cpp-beginners/thread106631.html
Здрасти. ifstream in("1.txt"); что возвращает in? как передать этот поток (in) в функцию которая выводит символы? void readFile( ???????????? ){ char ch; while (in){
C++ В каждой строке двухмерного массива определить наибольший элемент и подсчитать сумму этих максимальных элементов В каждой строке двухмерного массива определить наибольший элемент и подсчитать сумму этих максимальных элементов. http://www.cyberforum.ru/cpp-beginners/thread106629.html
C++ Проверка баланса фигурных скобок абстрактным стеком (реализованным в виде связного списка)
вот собственно задание: задан текст, содержащий три типа скобок - (), {}, . Программа должна проверить правильность расстановки скобок в тексте, а также, не нарушены ли правила вложенности...
прога на С++,связанная с файлами C++
Напишите программу, которая считывает произвольный текстовый файл, содержащий длинные строки и копирует его содержимое в новый файл, при этом разбив длинные строки таким образом, чтобы длина...
C++ программа на С++ http://www.cyberforum.ru/cpp-beginners/thread106617.html
Напишите программу, которая считывает произвольный текстовый файл и создает новый файл, в который записывает считанные из входного файла строки в алфавитном порядке. Имя входного и результирующего...
C++ Структуры. Необходимо написать программу (помогите пожалуйста): Сформировать массив, содержащий информацию о туристских поездках. Структурный тип содержит поля: название тура, необходима ли виза, це-на,... подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт CЭксперт С++
9695 / 5645 / 963
Регистрация: 25.07.2009
Сообщений: 10,849
13.07.2010, 23:40
пока отвечал, пост удалили ну на всякий случай для гражданина, которому то же самое но на С понадобилось:
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
char ** min_word(char ** words, size_t size){
    char ** minWord;
    int curLen, minLen;
 
    minWord = words;
    minLen = strlen(*minWord);
    while ( --size ){
        if ( ( curLen = strlen(*(++words)) ) < minLen ){
            minWord = words;
            minLen = curLen;
        }
    }
    return minWord;
}
 
char ** max_word(char ** words, size_t size){
    char ** maxWord;
    int curLen, maxLen;
 
    maxWord = words;
    maxLen = strlen(*maxWord);
    while ( --size ){
        if ( ( curLen = strlen(*(++words)) ) > maxLen ){
            maxWord = words;
            maxLen = curLen;
        }
    }
    return maxWord;
}
 
#define DELIM " \t\n"
 
int main(void){
    char buf[BUFSIZ], ** words, * pWord, ** foundWord;
    size_t size, i;
 
    words = NULL;
    size = 0;
 
    printf("String: ");
    if ( ! fgets(buf, BUFSIZ, stdin) ){
        fprintf(stderr, "Can't get some string!\n");
        exit(EXIT_FAILURE);
    }
 
    for ( pWord = strtok(buf, DELIM); pWord; pWord = strtok(NULL, DELIM) ){
        if ( ( words = (char**)realloc(words, sizeof(char*) * (size + 1)) ) == NULL ){
            fprintf(stderr, "Memory error!\n");
            exit(EXIT_FAILURE);
        }
        if ( ( words[size++] = strdup(pWord) ) == NULL ){
            fprintf(stderr, "Memory error!\n");
            exit(EXIT_FAILURE);
        }
    }
 
    if ( ! words ){
        fprintf(stderr, "No words in array!\n");
        exit(EXIT_FAILURE);
    }
 
    foundWord = min_word(words, size);
    free(*foundWord);
    *foundWord = strdup("min");
 
    foundWord = max_word(words, size);
    free(*foundWord);
    *foundWord = strdup("max");
 
    *buf = 0;
    for ( i = 0; i < size; ++i ){
        strcat(buf, words[i]);
        strcat(buf, " ");
    }
 
    printf("Result: %s\n", buf);
 
    for ( i = 0; i < size; ++i )
        free(words[i]);
    free(words);
 
    exit(EXIT_SUCCESS);
}
PS в задании про язык программирования ни слова не было...
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru