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

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

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

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

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

Написать программу, которая определяет максимальное
число из введенной с клавиатуры последовательности положительных
чисел (длина последовательности неограниченна). Ниже
приведен рекомендуемый вид экрана во время выполнения
профаммы (данные, введенные пользователем, выделены полужирным
шрифтом).
Определение максимального числа последовательности положительных
чисел.
Вводите после стрелки числа. Для завершения ввода введите ноль.
-> 56
-> 75
-> 43
-> О
Максимальное число: 75
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.09.2010, 20:26     Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положительных чисел
Посмотрите здесь:
Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положительных чисел... C++
C++ Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности отрицательных чисел
Цикл do while. Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности C++
Задача, for,while,do-while (определить минимальное число во введенной с клавиатуры последовательности положительных чисел) C++
Написать программу которая определяет максимальное число C++
Написать программу, которая в последовательности целых чисел определяет количество чётных чисел, кратных 7 C++
C++ Написать программу поиска произведения последовательности положительных чисел, вводимых с клавиатуры
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 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
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
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
19.09.2010, 23:23     Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положительных чисел #5
time2die, В моем коде отнюдь нет усложнения.
fasked
Эксперт С++
4933 / 2513 / 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;
}
hoochie
0 / 0 / 1
Регистрация: 16.12.2009
Сообщений: 116
19.09.2010, 23:31  [ТС]     Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положительных чисел #7
O_O
ого
fasked
Эксперт С++
4933 / 2513 / 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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.09.2010, 00:44     Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положительных чисел
Еще ссылки по теме:
C++ Найти в введенной последовательности чисел максимальное число.
C++ Написать программу, которая из пяти введенных пользователем чисел, определяет число с наибольшей суммой цифр
C++ написать программу которая вычисляет среднее арифметическое последовательности отрицательных дробных чисел, вводимых с клавиатуры
Написать программу, которая вычисляет длину введенной с клавиатуры строки C++
Написать программу, которая удаляет из введенной с клавиатуры строки начальные пробелы. C++

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

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

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