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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 42, средняя оценка - 4.83
hoochie
0 / 0 / 1
Регистрация: 16.12.2009
Сообщений: 116
#1

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

19.09.2010, 20:26. Просмотров 6712. Ответов 8
Метки нет (Все метки)

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

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

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

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

Задача, for,while,do-while (определить минимальное число во введенной с клавиатуры последовательности положительных чисел) - C++
Добрый вечер! Прошу помогите решить задачу, ничего не выходит. Точнее не пойму как сделать. Использовать можно только for,while,do-while. ...

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

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

8
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 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;
}
2
hoochie
0 / 0 / 1
Регистрация: 16.12.2009
Сообщений: 116
19.09.2010, 23:13  [ТС] #3
спасибо!
0
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
1
ForEveR
В астрале
Эксперт С++
7994 / 4753 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
19.09.2010, 23:23 #5
time2die, В моем коде отнюдь нет усложнения.
0
fasked
Эксперт С++
4975 / 2555 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 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;
}
1
hoochie
0 / 0 / 1
Регистрация: 16.12.2009
Сообщений: 116
19.09.2010, 23:31  [ТС] #7
O_O
ого
0
fasked
Эксперт С++
4975 / 2555 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 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;
}
2
time2die
51 / 51 / 3
Регистрация: 25.05.2010
Сообщений: 182
20.09.2010, 00:44 #9
Lavroff, не обиды ради, а искуства для - не зачем плодить лишние сущности(вектор), тем более задача хранения ряда в условия не входила, в то время как указывалась потенциальная возможность его безграничности, которая могла вылиться в исчерпание памяти
0
20.09.2010, 00:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.09.2010, 00:44
Привет! Вот еще темы с ответами:

Написать программу поиска произведения последовательности положительных чисел, вводимых с клавиатуры - C++
Кто может помочь с задачей на С++ по циклам. Нужно решить её при помощи цикла do while. Написать программу поиска произведения...

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

Написать программу, которая из пяти введенных пользователем чисел, определяет число с наибольшей суммой цифр - C++
Помогите решить задачу по С++.При помощи цикла for. Написать программу, которая из пяти введенных пользователем чисел, определяет число с...

написать программу которая вычисляет среднее арифметическое последовательности отрицательных дробных чисел, вводимых с клавиатуры - C++
Друзья, помогите разобраться. Компилятор выдает ошибку в 16 строке, а я не понимаю в чем дело. За ранее спасибо и благодарю) ...


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

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

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