Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Gabel
0 / 0 / 1
Регистрация: 10.11.2014
Сообщений: 18
1

Найти максимальный нечетный элемент массива (ошибка в коде)

28.01.2015, 00:07. Просмотров 684. Ответов 3
Метки нет (Все метки)

Не пойму почему программа не работает как нужно ( выводит хаотично введенное число, а не то которое максимальное. И еще как сделать чтобы и для отрицательных считало? ( то есть в обратном порядке, -9<-1 и т.д )
За рание
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
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
 
int main(int argc, char *argv[])
{
 
int i,N;
int *A;
int max;
 
printf("Enter size: ");
scanf_s("%d",&N);
 
A = (int *) calloc(N,sizeof(int));
 
printf("Enter array:\n");
 
for(i = 0; i < N; i++) 
scanf_s("%i",&A[i]); 
 
max = A[i];
 
for(i = 1; i < N; i+=2)
if(A[i] > max) max = A[i];
 
printf("Max: %i \n",max);
 
scanf_s("%*d"); 
return 0;
 
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.01.2015, 00:07
Ответы с готовыми решениями:

Каждый четный элемент массива умножить на минимальный элемент, а нечетный на максимальный
В одномерном массиве, состоящем из n целых элементов, каждый четный элемент умножить на минимальный...

Проверить, расположен ли максимальный нечетный элемент в первой половине массива
Дан одномерный массив А неупорядоченных целых чисел, состоящий из 2N элементов. Если максимум среди...

Найти наименьший нечетный элемент массива и его индекс
Дан одномерный массив размерности 18. Найти и вывести на экран наименьший нечетный элемент и его...

Найти минимальный и максимальный элемент массива, поменять первый элемент массива с последним
Добрый вечер! есть 2 несложные задачи, помогите, пожалуйста решить: Вот первая Задан массив...

Найти максимальный элемент массива и получить новый массив, каждый элемент которого получен по правилу
Найти максимальный элемент массива и получить новый массив, каждый элемент которого получен...

3
Kerry_Jr
Эксперт PHP
2211 / 2007 / 940
Регистрация: 14.05.2014
Сообщений: 5,869
Записей в блоге: 1
Завершенные тесты: 5
28.01.2015, 00:10 2
Цитата Сообщение от Gabel Посмотреть сообщение
C
1
max = A[i];
выход за границы массива, уж лучше
C
1
max = A[1];
0
Gabel
0 / 0 / 1
Регистрация: 10.11.2014
Сообщений: 18
28.01.2015, 23:21  [ТС] 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
#include <stdio.h>
#define MAX 20
int main (void)
{
int vector [MAX];
int n, i, max;
 
printf("input size: \n");
scanf_s("%i",&n);
 
printf("elements of vector [%i]: ", n);
 
for(i=0;i<n;i++)
scanf_s("%i",&vector[i]);
 
max=vector[0];
 
for (i=0;i<n;i++) 
if ((vector[i]%2!=0)&&(vector[i]>max)) 
max=vector[i];
 
printf("max element = %i \n", max);
scanf_s("%*d");
return 0;
}
0
Boleon
Guardian of Asgaard
373 / 316 / 197
Регистрация: 11.11.2013
Сообщений: 1,046
Завершенные тесты: 1
29.01.2015, 11:42 4
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main() {
    int* array;
    int size, i, max;
    int flag = 0;
    
    printf("Enter array size:\n");
    scanf("%d\n", &size);
    
    array = (int*) malloc (size*(sizeof(int)));
    
    srand(time(NULL));
    
    for ( i = 0; i < size; i++ ) {
        array[i] = rand() % 201-100;
        printf("array[%d]=%d\n", i, array[i]);
    }
    
    for ( i = 0; array[i] % 2 != 0 && i < size; i++ ) {
        if ( array[i] % 2 != 0 ) {
            max = i;
            flag = 1;
        }
    }
    
    if ( flag == 0 ) {
        printf("There aren't any odd elements.");
    } else {
        for ( i = max+1; i < size; i++ ) {
            if ( array[i] % 2 != 0 && array[max] < array[i] ) {
                max = i;
            }
        }
        printf("Max: array[%d]=%d\n", max, array[max]);
    }
    free(array);
 
    return 0;
}
Добавлено через 2 минуты
Цитата Сообщение от Gabel Посмотреть сообщение
решенная рабочая программа, а не то что в других темах, берите кому нужно.
1. Количество элементов массива нельзя задать выше 20 штук.
2. Если в массиве будут все чётные элементы, то программа выдаст результат первого чётного элемента как нечётный.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.01.2015, 11:42

Найти максимальный элемент массива
Помогите наиумнейшие люди, ну просто никак у меня не получается найти максимальный элемент, в чем...

Найти максимальный элемент массива
найти максимальный элемент массива

Найти максимальный элемент массива
Как найти максимальный элемент массива В BC 31 Добавлено через 5 минут вот пытался сделать...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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