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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 15.12.2010, 13:49   #1
djyuroktm
Новичок
Джуниор
 
Регистрация: 14.12.2010
Сообщений: 10
Вопрос Что то не так в задаче

Написал программу, запускается, но что то не так. Не пойму что.

Вот условие задачи: Найти остаток от деления целого выражения а=(с+d)(2k-m) на 5 и вывести сообщение о величине остатка. Если остаток равен 0, присвоить а значение целой части выражения. При нечетном остатке напечатать "нечетное число", при четном - "четное число"

Код:
program algvetv4;
uses crt;
var a,c,d,k,m,p: integer;
begin
clrscr;
writeln ('Vvedi c d k m');
readln (c,d,k,m);
a:=(c+d)*(2*k-m) mod 5;
if a=0 then writeln ('a=',a mod 2)
else writeln ('a=',a);
writeln ('Ostatok=',a mod 2);
if a mod 2=0 then
writeln ('Ostatok chetniy')
else writeln ('Ostatok nechetnyi');
readkey
end.


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

Сделал усвоил)

Последний раз редактировалось djyuroktm; 15.12.2010 в 15:09. Причина: тег CODE
djyuroktm вне форума
Старый 15.12.2010, 14:13   #2
djyuroktm
Новичок
Джуниор
 
Регистрация: 14.12.2010
Сообщений: 10
По умолчанию

Хотелось бы чтобы программа выводила значение уравнения и остаток от деления и показывало, четный или нечетный остаток получился. А выводит вот что.
Изображения
Тип файла: jpg Безымянный.jpg (21.8 Кб, 59 просмотров)
djyuroktm вне форума
Старый 15.12.2010, 14:17   #3
kenwood2010
Пользователь
 
Регистрация: 26.11.2010
Сообщений: 97
По умолчанию

Код:
var a,c,d,k,m,p: integer;
//тип integer - (это целочисленный тип) поменяй на double или float - с плавающей запятой;
kenwood20072@rambler.ru ICQ: 701 302 135. (Программирование на C++, С. Решение задач по физике)
kenwood2010 вне форума
Старый 15.12.2010, 14:19   #4
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Код:
if a=0 then writeln ('a=',a mod 2)
Как я понял по условию задаче, а нужно вывести перед этой строкой. Это будет решение для условия:
Цитата:
Найти остаток от деления целого выражения а=(с+d)(2k-m) на 5 и вывести сообщение о величине остатка
А уже потом переходить к остальным условиям. И еще для условия
Цитата:
Если остаток равен 0, присвоить а значение целой части выражения
Если все выражение целое, то здесь явно что-то не так. Может имеется ввиду результат выражения? То есть (c+d)*(2*k-m) div 5 Это надо уточнить...
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума
Старый 15.12.2010, 14:22   #5
djyuroktm
Новичок
Джуниор
 
Регистрация: 14.12.2010
Сообщений: 10
По умолчанию

Тип данных нельзя менять, тк в задаче указано что нужно найти остаток от деления именно ЦЕЛОГО выражения.
djyuroktm вне форума
Старый 15.12.2010, 14:24   #6
djyuroktm
Новичок
Джуниор
 
Регистрация: 14.12.2010
Сообщений: 10
По умолчанию

Нужно получить "а", записать результат, если результат не целый, то вывести величину остатка и указать, четный он или нет.
djyuroktm вне форума
Старый 15.12.2010, 14:27   #7
djyuroktm
Новичок
Джуниор
 
Регистрация: 14.12.2010
Сообщений: 10
По умолчанию

Выражение будет целым без деления на 5.
djyuroktm вне форума
Старый 15.12.2010, 14:59   #8
djyuroktm
Новичок
Джуниор
 
Регистрация: 14.12.2010
Сообщений: 10
По умолчанию

Я разобрался, подскажите просто, как вывести величину остатка, а то у меня программа выводит само наличие остатка.

вот программа:

Код:
program algvetv4;
uses crt;
var a,c,d,k,m,p: integer;
begin
clrscr;
writeln ('Vvedi c d k m');
readln (c,d,k,m);
a:=(c+d)*(2*k-m) div 5;
writeln ('a=',a);
if a mod 2>0 then writeln ('ostatok=',a mod 2);
readkey
end.

Последний раз редактировалось djyuroktm; 15.12.2010 в 15:08.
djyuroktm вне форума
Старый 15.12.2010, 15:09   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

не понимаю, что у Вас за проблемы?!

и, главное, почти всё решено же!!
добавить только функцию trunc()
и собрать всё в кучу:
Код:
program algvetv4;
uses crt;
var a, c, d, k, m, p: integer;
begin
  clrscr;
  writeln('Vvedi c d k m');
  readln(c, d, k, m);
  p := (c + d) * (2 * k - m);
  WriteLn('resultat vyrageniya (c+d)*(2*k-m) raven ',p);
  a := p mod 5;
  writeln('Ostatok=', a);
  if (a mod 5) = 0 then 
    { Если остаток равен 0, 
        присвоить а значение целой части выражения}
     begin
       a := trunc(p);
       writeln('celay chast` =', a);
     end;

  if a mod 2 = 0 
    then writeln('Ostatok chetniy')
    else writeln('Ostatok nechetnyi');

  readkey
end.
Serge_Bliznykov вне форума
Старый 15.12.2010, 15:15   #10
djyuroktm
Новичок
Джуниор
 
Регистрация: 14.12.2010
Сообщений: 10
По умолчанию

Во, спасибо, вот я про trunc совем забыл!) Теперь всё нормально.

Тема закрыта.
djyuroktm вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++. Что не так в задаче?? ((((( LeNus'Ka Помощь студентам 13 16.10.2010 12:35
Что не так Thandem Общие вопросы Delphi 5 26.09.2010 09:25
Что не так? Alexcomeback Общие вопросы C/C++ 9 07.04.2009 23:14
Что не так? Viento Microsoft Office Excel 3 30.01.2009 14:38