Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 16.01.2010
Сообщений: 30

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

19.03.2010, 22:13. Показов 1434. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
такая задача. помогите плиз
_______________________________
дана строка символов. найти в ней max и min по длине слово и заменить их на подстроки "max" и "min" соответственно, при необходимости сдвинув символы

___
заранее спасибо
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.03.2010, 22:13
Ответы с готовыми решениями:

Найти max и min слово в строке
Созданы две строки,а как найти max b min слово? #include <iostream> #include<cstring> #include<iomanip> using namespace std; ...

Найти max и min, если min левее max, то среднее арифметическое между ними
#include <iostream.h> #include <stdio.h> #include <conio.h> #include <math.h> void main() { int n,a; int...

Процедура: Даны три числа a,b,c. Вычислить (max(a,b)+min(a,c))/(max(b,c)*min(a,b))+max(min(a,b),min(b,c))
Даны три числа a,b,c. Вычислить (max(a,b)+min(a,c))/(max(b,c)*min(a,b))+max(min(a,b),min(b,c)) с помощью использования процедур.

9
 Аватар для ggmann
21 / 21 / 7
Регистрация: 06.10.2008
Сообщений: 173
20.03.2010, 13:00
а можна использовать библу string.h или все нужно делать через масив чаров вручную?
0
0 / 0 / 0
Регистрация: 16.01.2010
Сообщений: 30
20.03.2010, 13:19  [ТС]
через массив чаров..
0
0 / 0 / 0
Регистрация: 16.01.2010
Сообщений: 30
22.03.2010, 15:14  [ТС]
помогите с задачей кто-нибудь..
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,974
22.03.2010, 16:04
Цитата Сообщение от lilllu Посмотреть сообщение
через массив чаров
Это нудно... Вот Вам "джедайский" вариант, вдруг пригодится?!
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
#include <iostream>
#include <string>
#include <sstream>
#include <functional>
#include <set>
 
// дана строка символов. найти в ней max и min по длине слово 
// и заменить их на подстроки "max" и "min" соответственно
    
class LenCmp : public std::binary_function<std::string, std::string, bool> {
public:
    bool operator() (const std::string& a, const std::string& b){
        return a.length() > b.length();
    }
};
 
int main(){
    std::string s;
    std::cout << "String: ";
    std::getline(std::cin, s);
    
    std::istringstream ist(s);
    std::string tmp;
    std::set<std::string, LenCmp> words;
    while ( ist >> tmp )
        words.insert(tmp);
 
    std::cout << "Max word: " << *words.begin() << std::endl;
    std::cout << "Min word: " << *words.rbegin() << std::endl;
    
    size_t max_pos = s.find(*words.begin());
    s.replace(max_pos, words.begin()->length(), "max");
    size_t min_pos = s.find(*words.rbegin());
    s.replace(min_pos, words.rbegin()->length(), "min");
    
    std::cout << "Result: " << s << std::endl;
    
    return 0;
}
1
0 / 0 / 0
Регистрация: 16.01.2010
Сообщений: 30
22.03.2010, 21:11  [ТС]
спасибо огромное))

__________
ток вот как все это преподу сдавать..))мы такого либо не проходили либо это я тупое создание))...
0
22.03.2010, 21:47

Не по теме:

lilllu, скажите - приснилось, как Менделееву таблица... :)

0
0 / 0 / 0
Регистрация: 16.01.2010
Сообщений: 30
22.03.2010, 21:52  [ТС]
что-то подобное уже говорила в прошлом семестре) препод улыбнулся и экз я сдавала все каникулы)))
0
 Аватар для UKOL
136 / 80 / 22
Регистрация: 17.11.2009
Сообщений: 283
23.03.2010, 19:18
Ну вот собственно сама программа.

+
Программа написана языком новичков(это я! )
Работает, вычисляет размер минимального и макимального слова, заменяет максимальное слово на max и минимальное на min. Может работать и с русским языком, только не в windows, кодировка не подключена.

-

Программа сырая, разработана методом проб и ошибок и метод тыка(без этого ни как убил на нее минут 50).
Заменяет только первые max и min слова, а остальные равные этим размерам нет.


У кого есть желание довести до ума - прошу... Я не жадный

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
#include <iostream>
 
using namespace std;
 
int main()
{   
    int max(0), min(1000);
    int dmax=0;
    int dmin=0;
    int count=0;//счетчик
    const int arraySize=89;//размер строки в символах(елси изменять строку то и изменять значение arraySize
    //строка
    char stroka[arraySize]="Sign up for Facebook to connect with When We Were Little We Wanted To Grow Up.\n";
    //вывод на экран строки
    for(int i=0;i<arraySize;i++)
        cout << stroka[i]; 
    //поиск
    for(int i=0;i<arraySize;i++)//пробегаем по всей строке
    {
        // если строка текста достигает разделителей слов включаем счетчик
        if((stroka[i]!='\n')&&(stroka[i]!=' ')&&(stroka[i]!=',')&&(stroka[i]!=':')&&(stroka[i]!='.')&&(stroka[i]!='!')&&(stroka[i]!='?'))
        {
            count++;
        }
        //если нет, то проверка
        else
        {
                if(count==0)
                    continue;
                if(count>max)
                {
                    max=count;
                    dmax=i-count;
                }
                if(count<min)
                {
                    min=count;
                    dmin=i-count;
                }
                
                count=0;//сброс счетчика обязательно
        }
    }
    cout << endl;
    //вывод на экран строки и min и max
 
    for(int i=0;i<arraySize;i++)
    {
        if((i!=dmin)&&(i!=dmax))
        {
            cout << stroka[i];
        }
        else
        {
            if(i==dmin)
            {
                i=i+min;
                cout << " min ";
            }
            else
            {
                if(i==dmax)
                {
                    i=i+max;
                    cout << " max ";
                }
            }
        }
    }
    cout << endl;
    cout << "Max slovo = " << max << endl;
    cout << "Min slovo = " << min << endl;
}
1
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,974
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.07.2010, 23:40
Помогаю со студенческими работами здесь

Найти max и min элементы в массиве и номер элемента, близкого к среднему арифметическому min и max.
Привет всем! Очень прошу помочь в решении задачи на определение характеристик одномерного массива. Задача такова: Дана последовательность...

Введенные с клавиатуры слова выстроить по длине от max к min
введенные с клавиатуры слова,выстроить по длине от max к min Добавлено через 23 секунды plz help...

18. Даны различные действительные числа x, y, z, d. Найти max (min (x, y), min (x, z), min (z, d)
Даны различные действительные числа x, y, z, d. Найти max (min (x, y), min (x, z), min (z, d)).

Дана строка, заменить слово min на слово max
#include &lt;stdio.h&gt; int main() { int n = 81; char str; int i; gets(str);

Найти max и min элементы массива y и сформировать массив z из элементов массива y, находящихся между max и min y. Записать массив z в обратном порядке
Дан массив Х{80 элементов}. Вычислить {y}_{i}=sin\sqrt{{x}_{i}}+{cos}^{2}{{x}_{1}}^{2} Найти max и min элементы массива y и...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru