Найти самое большее чётное произведение среди чисел, расстояние между которыми меньше 5 - C (СИ)

  1. Здравствуйте! Данная "программа" должна обрабатывать числа, расстояние между которыми меньше 5, а также находить среди таких двух чисел самое большее чётное произведение. КОМПИЛИРУЕТСЯ ВСЁ НОРМАЛЬНО, НО ИСПОЛЬНЯТЬ ЭТА ГАДЮКА НИЧО НЕ ХОЧЕТ ИМЕННО В СЛУЧАЕ, КОГДА НА ВХОД ПОСУТПАЕТ БОЛЕЕ 5 ЧИСЕЛ. Т.е. цикл for(i=5;i<n;i++) не хочет заводиться, консоль тупо прекращает работу. C1 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 #include <stdio.h> int main(void) {   char j,c;      int i;      int n;      int a[5];      int x;      int max=-1;           scanf("%d",&n);     for (i=0;i<=4;i++){         scanf("%d",&a[i]);         }     for (i=5;i<n;i++){         scanf ("%d",x);         for (j=1;j<5;j++){             for (c=0;c<5;c++){                 if ((a[c]*a[j-1]>max )&&  (a[j-1]*a[c]%2 ==0))                     max=a[c]*a[j-1];                                             }                     }                 for (j=0;j<4;j++){             a[j]=a[j+1];         }         a[4]=x;         }      if (max==-1)          printf("-1");     else printf ("%d",max);     getchar();     getchar();     return 0; }Добавлено через 9 минут Тэкс... Счётчик тут должен робить... Тэк... Вывод массива когда у его индекса чото вычитаем тоже работает... Угу... Кажется я как-то выхожу из границ массива, но я в упор не могу разглядеть этого... Так, падажжи еманаДобавлено через 37 секунд лол, разглядеть он не может, у тебя две строки где идут пляски с массивамми, там же очевидно и ошибкаДобавлено через 3 минуты эхх, пойти спать или сожжрать таки хлеб с пащтетом? но тогда изжога будет от паштета с хлебом, я не хочу изжоги, антиацида нет с собой


textual

Код к задаче: «Найти самое большее чётное произведение среди чисел, расстояние между которыми меньше 5 - C (СИ)»

scanf ("%d",&x);

СДЕЛАЙТЕ РЕПОСТ

10   голосов, оценка 4.000 из 5



Похожие ответы
  1. программа читает числа и определяет самое маленькое четное число.тоесть если ввел 1 3 5 4 7 то на выходе четное маленькое будет 4.так вот я написал код и вроде работает или незнаю.C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #include int main(void) {int mass[256],n,i,min; printf("N=");scanf("%d",&n); for (i=0;imass[i];min=mass[i];i++;} } printf("MIN:%d",min); return 0; }все ли правильно?подскажите пожалуйста.Добавлено через 18 минут иногда ответ правильный иногда нет.если вести начальное число 3.и 1 3 2 то покажет 2ккк

  1. Определить количество инверсий в массиве (таких пар элементов, в которых большее значение находится слева от меньшего).

  1. Дано действительное число а(1<а<3) .Составить алгоритм, находящий среди чисел 1 , 1+1/2 , 1+1/2+1/3 , ... первое, большее а.

  1. 4,1 Дана последовательность из n символов. Подсчитать наибольшее число букв 'a' идущих подряд в данной последовательности

  1. Добрый вечер, форумчане. Задание не прошу выполнить, хотя, если и попрошу, мне, ленивой жопе, вряд ли кто поможет )) Ну, а теперь серьезно. Искал в интернете, как считать только нужные мне элементы, однако, не нашел примера. a11 a12 a13 a21 a22 a23 a31 a32 a33 Как записать цикл, чтобы он проходил только через a21, a31 и a32 в данном случае? Конечно, квадратная матрица может быть любой степени. Спасибо.

  1. 11. Вывести строку длины N (N — четное), которая состоит из чередующихся символов C1 и C2, начиная с C1.

  1. Прошу помогите решить задачку из Книги Дейтел&Дейтел "Програмирование на С"! Напишите программу на С для ввода серии из 10 чисел и определения и вывода на печать наибольшего из этих чисел. 1)нужен счетчик на до 10 2)текущее число введенное в программу; 3)наибольшее число найденное до сих пор. Пока что думаю на этим естественно не рабочим вариантом (.C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #include   int main() {       int number1,number;       unsigned int counter;            counter=0;          printf("number= : ");          scanf("%d",&number1);        while (counter!=10)       {          printf("number= : ");          scanf("%d",&number);         if (number>number1)         {         printf("Larger= : %d",number);                 }           counter+=1;;            }      return 0; }Добавлено через 1 час 22 минуты все додумал сам. Если кому интересно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 #include int main() {             int max,number;       unsigned int counter;           counter=0;                  printf("number= : ");// Введите первое число          scanf("%d",&max);//Первое число           while (counter!=9)       {          printf("number= : ");// Введите второе число          scanf("%d",&number);           if (number>max)             max=number;                         counter+=1;                }         printf("Larger= : %d",max);          return 0;       }

  1. Доброй ночи, форумчане. Проблема описана в комментарии в конце кода. Как поменять местами первый элемент в массиве и пятый? Спасибо.C1 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 #include // из интервала [0; 2147483647] то есть integer // описываю функцию по нахождению наибольшего числа в массиве int maximumValue(int *A, int b) {     int i;     int max;         max = A[0];         for(i = 1; i < b; i++) {             if (A[i] > max) {                 max = A[i];             }         } return max; } // описываю функцию по нахождению индекса того самого наибольшего числа int maximumValueIndex(int *A, int b) {     int i;     int max, index;         max = A[0];         index = 0;         for(i = 0; i < b; i++) {             if (A[i] >= max) {                 max = A[i];                 index = i;             }         } return index; }   int main() {     int i, c, index, maxValue, temp;     int j;     int B[] = {1, 2, 4, 4, 6, 6, 1, 3, 5};         maxValue = maximumValue(B, 9);     printf("MAX chislo: %d\n", maxValue);     printf("Index MAX chisla: %d\n", maximumValueIndex(B, 9));   // вывожу массив        for(i = 0; i < 9; i++) {         printf("%d ", B[i]);     }     printf("\n");   // И вот тут загвоздка. Как поменять местами первый элемент в массиве и пятый?       for(j = 0; j < 9; j++) {         if (B[j] < maxValue) {             temp = B[j];             B[j] = maxValue;             maxValue = B[5];             break;         }             printf("%d ", B[j]);     } return 0; }

  1. дан текст найти наибольшее количество идущих подряд одинаковых символов