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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2014, 16:08   #1
Vladzis
 
Регистрация: 05.05.2014
Сообщений: 7
По умолчанию Ошибки в коде. Необходимо исправить.

Динамическая память. Одномерный массив. Если в массиве есть два рядом стоящих чётных элемента, то вывести на экран все элементы массива стоящие перед ними. Спасибо. Вот собственно и код:
Код:
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    int n, *arr, i, idx = -1;
    scanf("%d", &n);
    arr = (int*) malloc(sizeof(int) * n);
    for (i = 0; i < n; i++)
        scanf("%d", &arr[i]);
    for (i = 0; i < n - 1; i++) {
        if ((arr[i] % 2 == 0) && (arr[i + 1] % 2 == 0)) {
            idx = i;
            break;
        }
    }
    if (idx == -1)
        return 0;
    for (i = 0; i < idx; i++)
        printf("%d", arr[i]);
    return 0;
}


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 05.05.2014 в 16:17.
Vladzis вне форума Ответить с цитированием
Старый 05.05.2014, 16:33   #2
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

На что сразу нужно обратить внимание это - освобождение памяти.
Код:
...
...
    free(arr);
    return 0;
}
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 05.05.2014, 17:22   #3
Vladzis
 
Регистрация: 05.05.2014
Сообщений: 7
По умолчанию

Да вы правы, но по прежнему ошибка в строке:
Код:
arr = (int) malloc(sizeof(int) * n);
Vladzis вне форума Ответить с цитированием
Старый 05.05.2014, 20:31   #4
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Цитата:
Сообщение от Vladzis Посмотреть сообщение
Да вы правы, но по прежнему ошибка в строке:
Код:
arr = (int) malloc(sizeof(int) * n);
Правильнее так
Код:
arr = (int*)malloc(sizeof(int) * n);
Какая ошибка? На сколько я могу судить все верно.... Если не считая того что не понятно что где нужно вводить, где результат.
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 05.05.2014, 23:45   #5
Vladzis
 
Регистрация: 05.05.2014
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Bugrimov Посмотреть сообщение
Правильнее так
Код:
arr = (int*)malloc(sizeof(int) * n);
Какая ошибка? На сколько я могу судить все верно.... Если не считая того что не понятно что где нужно вводить, где результат.
Так тоже не правильно....Ладно, предложите, пожалуйста, кто - нибудь код без ошибок.

Последний раз редактировалось Vladzis; 05.05.2014 в 23:48.
Vladzis вне форума Ответить с цитированием
Старый 06.05.2014, 06:04   #6
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Забавно... Ваш код работает правильно... Что не правильно?
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 06.05.2014, 17:28   #7
Vladzis
 
Регистрация: 05.05.2014
Сообщений: 7
По умолчанию

Всё правильно Спасибо за помощь!
Vladzis вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Треугольная последовательность. Помочь исправить ошибки в коде (C) lmbe Помощь студентам 0 27.12.2013 03:17
Определить по коду алгоритм сортировки и исправить специально допущенные в коде ошибки ( Turbo Delphi ) Just-Joni Помощь студентам 0 26.12.2013 12:24
Необходимо найти ошибку в коде VB6 marcaa Помощь студентам 1 24.05.2012 18:03
метод квадратного корняЖ исправить ошибки в коде. at13 Помощь студентам 1 20.10.2011 20:11
C++... Необходимо исправить 4 ошибки... hen Помощь студентам 4 17.04.2009 04:28