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

Найти наименьший положительный элемент последовательности - C++

Восстановить пароль Регистрация
 
sp.caster
0 / 0 / 0
Регистрация: 15.04.2009
Сообщений: 25
06.05.2011, 22:03     Найти наименьший положительный элемент последовательности #1
Дана последовательность N целых чисел. Найти наименьший положительный элемент этой последовательности.

Входные данные
Вы вводите количество чисел N, и N целых чисел - элементов этой последовательности. Количество чисел не превышает 10000, каждый элемент последовательности не превышает по абсолютной величине 1000.
Выходные данные
Вывести на экран искомый элемент. Если в последовательности нет положительных элементов - вывести 0.

Пример входных и выходных данных:

Входной файл (test.in)
7 -4 4 -7 3 0 8 2

Выходной файл (test.out)
2

Моя программа:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <cmath>
 
using namespace std;
 
 
int main()
{
    int i, N=1, min=1, mas[10000];
    freopen("test.in", "r", stdin);
    freopen("test.out", "w", stdout);
    scanf("%d %d", &N, &mas[N]);
    for (i=1; i<=N; i++)
    {
        if (mas[i]>0)
            if (mas[i]<min)
            min=mas[i];     
    }   
    printf("%d", min);
}
Проблема: Не правильно считает, в выходном файле пишет " 1 " . Я так понимаю, это из-за заданного min=1, но если значение min не приравнивать ни к чему, программа при запуске ругается на что-то.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.05.2011, 22:03     Найти наименьший положительный элемент последовательности
Посмотрите здесь:

C++ Наименьший элемент последовательности
Найти наименьший элемент массива и домножить на него все члены последовательности C++
C++ Найти наименьший элемент массива и домножить на него все члены последовательности, предшествующие этому члену
Наименьший положительный элемент (0 не положительный) C++
Найти и напечатать наименьший элемент последовательности. Массивом не пользоваться C++
C++ Функция должна возвращать наименьший положительный элемент массива
Найти наименьший и наибольший элемент последовательности, которая делится на к C++
C++ Найти наименьший положительный и наибольший отрицательный элементы массива

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
06.05.2011, 22:10     Найти наименьший положительный элемент последовательности #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <iostream>
#include <cmath>
 
using namespace std;
 
 
int main()
{
        int i, N=1, min=0, mas[10000];
        freopen("test.in", "r", stdin);
        freopen("test.out", "w", stdout);
        scanf("%d", &N);
        for (i=0; i<N; i++)
        {
            scanf("%d", &mas[i]);
            {
                if (mas[i]>0)
                {
                    if (min==0)
                        min=mas[i];    
                    else
                    {
                        if(min>mas[i])
                            min=mas[i];
                    }
                }
            }
        }       
        printf("%d", min);
        return 0;
}
Yandex
Объявления
06.05.2011, 22:10     Найти наименьший положительный элемент последовательности
Ответ Создать тему
Опции темы

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