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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 42, средняя оценка - 4.83
hoochie
 Аватар для hoochie
0 / 0 / 1
Регистрация: 16.12.2009
Сообщений: 116
19.09.2010, 20:26     Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положительных чисел #1
Написать программу, которая определяет максимальное
число из введенной с клавиатуры последовательности положительных
чисел (длина последовательности неограниченна). Ниже
приведен рекомендуемый вид экрана во время выполнения
профаммы (данные, введенные пользователем, выделены полужирным
шрифтом).
Определение максимального числа последовательности положительных
чисел.
Вводите после стрелки числа. Для завершения ввода введите ноль.
-> 56
-> 75
-> 43
-> О
Максимальное число: 75
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.09.2010, 20:26     Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положительных чисел
Посмотрите здесь:

Написать программу, которая вычисляет длину введенной с клавиатуры строки C++
Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положительных чисел... C++
Написать программу, которая удаляет конечные пробелы из введенной с клавиатуры строки C++
C++ написать программу которая вычисляет среднее арифметическое последовательности отрицательных дробных чисел, вводимых с клавиатуры
C++ Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности отрицательных чисел
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
19.09.2010, 20:36     Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положительных чисел #2
hoochie,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <algorithm>
#include <vector>
 
int main()
{
    std::vector<int> Vec;
    int i=0;
    while(1)
    {
        std::cout<<"Enter i. 0 for end\n";
        std::cin>>i;
        if(i==0)
           break;
        Vec.push_back(i);
    }
    std::vector<int>::iterator It=std::max_element(Vec.begin(), Vec.end());
    if(It!=Vec.end())
       std::cout<<"Max is: "<< *It <<'\n';
    return 0;
}
hoochie
 Аватар для hoochie
0 / 0 / 1
Регистрация: 16.12.2009
Сообщений: 116
19.09.2010, 23:13  [ТС]     Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положительных чисел #3
спасибо!
time2die
51 / 51 / 3
Регистрация: 25.05.2010
Сообщений: 182
19.09.2010, 23:22     Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положительных чисел #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
using namespace std ;
 
int main()
{
        int i = 0;
        int max = 0 ;
        
        cout<<"Enter i. 0 for end\n";
        while(1)
        {
                cout<<"-> " ;
                cin>>i;
                if(i==0)
                      break;
                if( i > max )
                        max = i ;
        }
        cout<<"Max is: "<< max <<'\n';
        return 0;
}
KISS
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
19.09.2010, 23:23     Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положительных чисел #5
time2die, В моем коде отнюдь нет усложнения.
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
19.09.2010, 23:29     Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положительных чисел #6
Два решения на Си.

Через тип данных стек:
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 <stdio.h>
#include <stdlib.h>
 
typedef struct STACK
{
    struct STACK *next;
    int data;
   
} stack_t;
 
void push(stack_t **stack, int value)
{
    stack_t *node = NULL;
       
    if((node = (stack_t *)malloc(sizeof(stack_t))) == NULL) {
        perror("Can't allocated memory for stack node\n");
        return;
    }
    
    node->next = *stack == NULL ? NULL : *stack;
    node->data = value;
    *stack = node;
}
 
void pop(stack_t **stack)
{
    stack_t *top = *stack;
    
    if(*stack == NULL) {
        perror("Stack is empty\n");
        return;
    }
    
    *stack = top->next;    
    free(top);
}
 
int top(stack_t **stack) 
{
    if(*stack == NULL) {
        perror("Stack is empty\n");
        return 0;    
    }
    
    return (*stack)->data;
}
 
int main()
{
    int i = 0;
    int max = 0;
    stack_t *stack = NULL;
    
    do {
        printf("> ");
        if(scanf("%d", &i) != 1)
            break;
        if(i != 0)    
            push(&stack, i);
    }
    while(i != 0);
    
    while(stack != NULL) {
        if(top(&stack) > max)
            max = top(&stack);
        
        pop(&stack);
    }
    
    printf("max: %d", max);
    
    return 0;
}
Через динамическое перераспределение памяти:
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>
 
int main()
{
    int *values = NULL;
    int *ptr = NULL;
    int size = 0;
    int max = 0;
    int val = 0;
    int i = 0;
    
    for(;;) {
        printf("> ");
        scanf("%d", &val);
        
        if(val == 0)
            break;
            
        if((ptr = (int *)realloc(values, ++size)) == NULL) {
            fprintf(stderr, "can't allocate memory\n");
            free(values);
            return EXIT_FAILURE;
        }
        
        values = ptr;
        values[size - 1] = val;
    }
    
    for(i = 0; i < size; ++i) {
        if(values[i] > max)
            max = values[i];
    }
    
    free(values);
    
    printf("max: %d\n", max);
    
    return EXIT_SUCCESS;
}
hoochie
 Аватар для hoochie
0 / 0 / 1
Регистрация: 16.12.2009
Сообщений: 116
19.09.2010, 23:31  [ТС]     Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положительных чисел #7
O_O
ого
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
19.09.2010, 23:39     Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положительных чисел #8
симпатичная рекурсия:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <stdlib.h>
 
int max(int start) {
    int val = 0;
    
    printf("> ");
    scanf("%d", &val);
   
    if(!val)
        return start;
        
    return max(start > val ? start : val);
}
 
int main()
{
    printf("max: %d\n", max(0));
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.09.2010, 00:44     Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положительных чисел
Еще ссылки по теме:

Цикл do while. Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности C++
Задача, for,while,do-while (определить минимальное число во введенной с клавиатуры последовательности положительных чисел) C++
Написать программу которая определяет максимальное число C++

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

Или воспользуйтесь поиском по форуму:
time2die
51 / 51 / 3
Регистрация: 25.05.2010
Сообщений: 182
20.09.2010, 00:44     Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положительных чисел #9
Lavroff, не обиды ради, а искуства для - не зачем плодить лишние сущности(вектор), тем более задача хранения ряда в условия не входила, в то время как указывалась потенциальная возможность его безграничности, которая могла вылиться в исчерпание памяти
Yandex
Объявления
20.09.2010, 00:44     Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положительных чисел
Ответ Создать тему
Опции темы

Текущее время: 13:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru