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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2010, 14:34   #1
fs444
Форумчанин
 
Регистрация: 18.08.2009
Сообщений: 289
По умолчанию Программа, вводящая последовательность целых чисел

Цитата:
Напишите программу, которая вводит последовательность целых чисел и передает их по одному функции even, которая использует операцию вычисления остатка для определения четности числа. Функция должна принимать целый аргумент и возвращать true, если аргумент - четное число, и false в противном случае.
Здесь имеется в виду, что сначала программа должна принять сразу, к примеру, 5 чисел от пользователя, а потом сразу для всех вывести результат? Или допускается ввод одного числа, получения результата для него. Потом второго числа и т.д.?
fs444 вне форума Ответить с цитированием
Старый 28.03.2010, 15:21   #2
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

ИМХО в задании имеется ввиду что отельно вводит, отдельно передает, т.е. надо создать массив из 5 элементов и потом уже передать их в функцию.
rrrFer вне форума Ответить с цитированием
Старый 28.03.2010, 16:36   #3
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

никакого массива тут вовсе не надо
вводишь 1 жмешь ентер, ф-я обработала, потом 2, ентер, ф-я обработала и так далее
NiCola999 вне форума Ответить с цитированием
Старый 28.03.2010, 21:03   #4
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Хм... а к чему тут С++?
MaTBeu вне форума Ответить с цитированием
Старый 29.03.2010, 18:19   #5
fs444
Форумчанин
 
Регистрация: 18.08.2009
Сообщений: 289
По умолчанию

Массивы рассматриваются в следующей главе книги. Значит, сейчас надо делать без них.

Цитата:
Хм... а к чему тут С++?
К тому что делать задачу надо на С++ =))
fs444 вне форума Ответить с цитированием
Старый 30.03.2010, 16:15   #6
fs444
Форумчанин
 
Регистрация: 18.08.2009
Сообщений: 289
По умолчанию

Написал:
Код:
#include<iostream>
using namespace std;

#include<windows>

void chetnoeChislo(int chislo); //проверяет число на четность

int main()
{
   int chislo; //число, проверяемое на четность. Вп.

   while (chislo != -1)
   {
      cout << "Vvedite chislo (-1 - vijti iz programmi): ";
      cin >> chislo;

      if (chislo < 0)
      {
         break;
      }

      chetnoeChislo(chislo);
   }

   system("pause");
   return 0;
}

void chetnoeChislo(int chislo)
{
   if (chislo % 2 == 0)
   {
      cout << "Chislo " << chislo << " chetnoe" << endl;
   }
   else
   {
      cout << "Chislo " << chislo << " NE chetnoe" << endl;
   }
}
fs444 вне форума Ответить с цитированием
Старый 30.03.2010, 20:05   #7
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Код:
      if (chislo < 0)
      {
         break;
      }
это зачем?
Цитата:
Функция должна принимать целый аргумент и возвращать true
у вас она void возвращает
Код:
while (chislo != -1)
это условие в вашем коде может быть ложно?
Код:
int chislo; //число, проверяемое на четность. Вп.

   while (chislo != -1)
перед использованием переменной ее надо инициализировать
Код:
#include<windows>
это зачем?

Последний раз редактировалось rrrFer; 30.03.2010 в 20:06. Причина: орфография
rrrFer вне форума Ответить с цитированием
Старый 31.03.2010, 19:37   #8
fs444
Форумчанин
 
Регистрация: 18.08.2009
Сообщений: 289
По умолчанию

Цитата:
Код:
 if (chislo < 0)
      {
         break;
      }
это зачем?
Чтобы, если пользователь введет "-1", программа не выполнила chetnoeChislo(chislo).

Пожалуй, тут логичнее использовать не while() {}, а do {} while().

Цитата:
Цитата:
Функция должна принимать целый аргумент и возвращать true
у вас она void возвращает
Ээ, да, не заметил.

Цитата:
Код:
while (chislo != -1)
это условие в вашем коде может быть ложно?
Если chislo будет равно "-1", то будет ложно.

Цитата:
перед использованием переменной ее надо инициализировать
Да, согласен, спасибо.

Цитата:
Код:
#include<windows>
это зачем?
Чтобы работал system("pause"). А то консоль же закрывается, не давая увидеть результаты работы программы.
fs444 вне форума Ответить с цитированием
Старый 02.04.2010, 09:20   #9
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

while (chislo != -1)
Цитата:
Если chislo будет равно "-1", то будет ложно.
попробуйте заменить условие например на while(1), или ,если вам будет понятней, на while(chislo==999) - в работе программы ничего не изменится, потому что перед проверкой условия вы выполняете:
Код:
 if (chislo < 0)
      {
         break;
      }
Цитата:
Чтобы работал system("pause"). А то консоль же закрывается, не давая увидеть результаты работы программы
функция system обьявлена в sdtlib.h
rrrFer вне форума Ответить с цитированием
Старый 02.04.2010, 09:24   #10
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

кроме того, вместо system можно использовать cin.get() - ведь iostream вы все равно подключили
rrrFer вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дана последовательность с n целых чисел. Найти количество елементов, кратных ее первому елементу Alex1991 Помощь студентам 3 10.03.2009 09:02
массив целых чисел -ushёl- Помощь студентам 4 28.02.2009 19:18
массив целых чисел ^SPARTAK^ Паскаль, Turbo Pascal, PascalABC.NET 1 27.12.2008 10:59
программа считывающая пять целых чисел и определяющая, печатающая наибольшее и наименьшее число из них Syber Общие вопросы C/C++ 3 30.06.2008 22:39
Вывод целых и десятичных чисел Maycal Общие вопросы C/C++ 2 24.10.2007 12:34