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

Не могу найти ошибку. Массивы. - C++

Восстановить пароль Регистрация
 
v1le
 Аватар для v1le
15 / 12 / 1
Регистрация: 01.06.2011
Сообщений: 205
13.12.2011, 22:49     Не могу найти ошибку. Массивы. #1
Есть задание: Найти номер первого максимального значения среди элементов, меньших Т и расположенных правее первого элемента, кратного 3.
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
double ALGO2(int T, int SIZE, double *ARR){
    int i=0;
    int K=-1;
    double MAX;
    do{if(ARR[i]>T)
        K=i;
    i++;
        }while(K==-1 || i<SIZE);
    printf("K=%lf\n", K);
    if(K==-1)
        return MAX=1488;
    else{
        int N=-1;
        while(i<K || N==-1){
            if((int)ARR[i]%3==0)
                N=i;
            i++;
        }
        if(N==-1)
            return MAX=1488;
        else{
            MAX=ARR[N];
            for(i=N; i<K; K++){
                if(MAX<ARR[i])
                    MAX=ARR[i];
            }
            return MAX;
        }
    }
}
Почему К=0? N=0? MAX=0?
Я понимаю, что какая-то ошибка в условиях, но не могу понять какая(

Добавлено через 23 часа 31 минуту
Никто не может помочь?(
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2011, 22:49     Не могу найти ошибку. Массивы.
Посмотрите здесь:

C++ Не могу найти ошибку
Не могу найти ошибку C++
C++ Массивы. Найти среднее арифметическое элементов массива, расположенных до максимального элемента (найти ошибку в задании)
C++ Массивы (найти ошибку в коде)
Массивы (найти ошибку в коде) C++
Массивы. Найти ошибку C++
Найти ошибку. Динамические массивы C++
C++ Не могу найти ошибку в коде, двумерные и одномерные массивы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
amor1k
Студент
 Аватар для amor1k
147 / 147 / 24
Регистрация: 18.01.2011
Сообщений: 469
14.12.2011, 01:46     Не могу найти ошибку. Массивы. #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
double ALGO2(int T, int n, double *a)
{
    double *b = new double [n];
    int j = 0;
    for(int i = 0; i < n; i++)
    {
        if(a[i] < T)
        {
            b[j] = a[i];
            j++;
        }
    }
    int num = 0;
    for(int i = 0; i < j; i++)
        if((int)b[i] % 3 == 0)
        {
            num = i;
            break;
        }
    double max = b[num+1];
    for(int i = num+1; i < j; i++)
        if(b[i] > max)
            max = b[i];
    return max;
}
Yandex
Объявления
14.12.2011, 01:46     Не могу найти ошибку. Массивы.
Ответ Создать тему
Опции темы

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