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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.09.2009, 21:04   #1
Arcueid1691
Пользователь
 
Аватар для Arcueid1691
 
Регистрация: 31.05.2009
Сообщений: 97
По умолчанию мин-ый четный эл-т массива

Задание: найдите минимальный четный элемент массива.
Проверьте пожалуйста.
Код:
#include <conio.h>
#include <stdio.h>
#include <math.h>
void main()
{  clrscr();
int a[10], i;

printf("Vvedite massiv: \n");

for ( i=0; i<10; i++)
scanf("%d",& a[i]);

for ( i=0; i<10; i++)
 if(a[i+1]<a[i] && a[i+1]%2)
 printf("%d",a[i+1]);
 getch();
 }
спят подружки вредные безмятежным сном,
Снятся мышкам хлебные крошки под столом, Буратинам - досточки, кошкам - караси,
Всем собакам - косточки, программистам - Си (с)
Arcueid1691 вне форума Ответить с цитированием
Старый 10.09.2009, 21:20   #2
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

А зачем проверять? Программа не так работает?
Код:
scanf("%d", a[i]);
амперсант не надо, потому что элемент массива - это и так адрес
MaTBeu вне форума Ответить с цитированием
Старый 10.09.2009, 21:25   #3
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от MaTBeu Посмотреть сообщение
А зачем проверять? Программа не так работает?
Код:
scanf("%d", a[i]);
амперсант не надо, потому что элемент массива - это и так адрес
амперсанд нужен, не элемент массива адрес, а имя( a == &a[0] )
netrino вне форума Ответить с цитированием
Старый 10.09.2009, 21:34   #4
Arcueid1691
Пользователь
 
Аватар для Arcueid1691
 
Регистрация: 31.05.2009
Сообщений: 97
По умолчанию

на сколько я знаю амперсанд нужен. Проверить прошу, потому как у меня, к сожалению, нет возможности проверить на практике.
спят подружки вредные безмятежным сном,
Снятся мышкам хлебные крошки под столом, Буратинам - досточки, кошкам - караси,
Всем собакам - косточки, программистам - Си (с)
Arcueid1691 вне форума Ответить с цитированием
Старый 10.09.2009, 23:15   #5
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Код:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

int main()
{
   int i, ans=1;
   int a[10];

   clrscr();

   printf("Vvedite massiv: ");
   for(i = 0; i < 10; i++)
      scanf("%d", &a[i]);

   for(i = 0; i < 10; i++)
      if(!(a[i]%2)) {
         ans = a[i];
         break;
      }

   for(i = 0; i < 10; i++)
      if(!(a[i]%2))
         if(ans > a[i])
            ans = a[i];

   if(!(ans%2))
      printf("Answer: %d", ans);
   else
      printf("There is no even elements");

   getch();

   return 0;
}
Инициализируем ans нечётным числом.
Записываем в ans первый попавшийся чётный элемент, если таковой имеется, чтобы было с чем сравнивать. Затем, в следующем цикле, проверяем i-й элемент на чётность, если он чётный, то проверяем является ли он меньшим чем ans, если да, то записываем его в ans. В конечном итоге смотрим, если в ans чётное число, то выводим ответ, иначе выводим, что нет чётных элементов в массиве.

P.S. Ваша программа была неправильна посмотрите, что было бы для такого массива: 2 10 8 8...
netrino вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
поиск мин. элемента массива lg12 Помощь студентам 1 10.07.2009 15:07
Нахождение Мин И Макс элементов Массива не стандартным способом. gree Помощь студентам 5 17.06.2009 20:57
поиск мин., удаление эл-ов массива Dmitrич Общие вопросы C/C++ 2 01.06.2009 13:31
Аудио Плеер за 10 мин ZuBy Мультимедиа в Delphi 10 15.05.2009 21:36