Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2013, 16:13   #1
Tarcom
 
Регистрация: 02.10.2013
Сообщений: 3
По умолчанию Помогите с задачей на массивы (язык Си)

Дано натуральное число N і одномерный масив A1, A2, …, AN целых чисел. Найти наименьший элемент в самой долгой непрерывной последовательности положительных значений.
Tarcom вне форума Ответить с цитированием
Старый 13.10.2013, 18:41   #2
Nuklon
Форумчанин
 
Аватар для Nuklon
 
Регистрация: 05.04.2012
Сообщений: 134
По умолчанию

Код:
#include <stdio.h>



int longseq_min(const int* fe, const int* le) {
    const int* a, *b;
    int i = 0, n = 0;

    // поиск самой длинной положительной последовательности
    a = b = fe;
    do {
         if((*fe > 0) && (fe != le))
              ++i;
         else {
             if(i > n) {
                a = fe - i;
                b = fe;
                n = i;
             }
             i = 0;
         }
    } while(fe++ != le);

    // поиск min
    i = *a;
    while(a != b) {
        if(*a < i)
            i = *a;
        ++a;
    }
    return i;
}




int main(void){
    int arr[] = { 2, 9, -5, 7, -1, 4, 3, 8, -2 };

    int n = longseq_min(arr, arr + sizeof(arr)/sizeof(arr[0]));
    printf("min: %d\n", n);
    return 0;
}
Пример работы кода
Nuklon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с задачей на массивы в С++ Veina Помощь студентам 4 29.11.2009 11:32
помогите плз с задачей на массивы sp.caster Помощь студентам 6 04.02.2009 20:10
помогите с задачей на 2хмерные массивы eHappy Паскаль, Turbo Pascal, PascalABC.NET 0 14.12.2008 11:27