IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

> Перевод задачи из Pascal в C, Наипростейшая задачка
Анютка
сообщение 28.03.2006 17:51
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 18
Пол: Женский
Реальное имя: Анна

Репутация: -  0  +


Начала изучать С довольно недавно и, к сожалению, еще плоховато разбираюсь в этом языке программирования. Сегодня получила задание от препода написать задачку на Паскале и на С. С Паскалем у меня проблем нет, а вот с С потруднее sad.gif Ничего не получается sad.gif Помогите, пожалуйста доделать задачку в С.
Вот задача, написанная на Паскале:
Прикрепленный файл  RGZ1.PAS ( 301 байт ) Кол-во скачиваний: 374

А вот попытки перевести ее в С:


#include <conio.h>
#include <stdio.h>
#include <iostream.h>
void main()
{
float h,m,z;
cout <<"Введите точное время (часы, минуты, секунды)"<<endl;
cin >>h>>m>>z;
if ((h<=23) || (m<=59) || (z<=59))
{if (z>30) m=m+1;
{if (m=60)
{h=h+1; m=0;}
if (h=24) h=0;}}}
cout <<h<<" часов "<<m<<" минут "<<endl;}
}



1). Пользуйтесь тегами
2). Раздел задачи - олько для программ на языке Паскаль
3). Pascal пишется через c ... Исправил
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
klem4
сообщение 28.03.2006 18:31
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Переписать то можно, а смысл ?


until (h<=23) and (m<=59) and (s<=59);
if s>30 then
m:=m+1;
if m=60 then begin // <-- это условие никогда не выполнится

Ты для начала объясни что програма должна делать ....

ps тут с тегами проблема.

Сообщение отредактировано: klem4 - 28.03.2006 18:41


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 29.03.2006 3:33
Сообщение #3


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(klem4 @ 28.03.2006 18:31) *

until (h<=23) and (m<=59) and (s<=59);
if s>30 then m:=m+1;
if m=60 then begin // <-- это условие никогда не выполнится

Почему не выполнится? Выполнится, если m=59, а s>30
Программа, по всей видимости, производит округление значения времени до минут.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 23.07.2025 14:14
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"