![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() ![]() |
![]() |
Анютка |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Женский Реальное имя: Анна Репутация: ![]() ![]() ![]() |
Начала изучать С довольно недавно и, к сожалению, еще плоховато разбираюсь в этом языке программирования. Сегодня получила задание от препода написать задачку на Паскале и на С. С Паскалем у меня проблем нет, а вот с С потруднее
![]() ![]() Вот задача, написанная на Паскале: ![]() А вот попытки перевести ее в С:
#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 ... Исправил |
klem4 |
![]()
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Переписать то можно, а смысл ?
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";'
|
Lapp |
![]()
Сообщение
#3
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
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 Программа, по всей видимости, производит округление значения времени до минут. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
klem4 |
![]()
Сообщение
#4
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
lapp, да, ты прав, я извиняюсь.
Тогда держи ![]()
# include <iostream.h>
int main (void){
int h, m, s;
do{
system("cls");
cout << "H = "; cin >> h;
cout << "M = "; cin >> m;
cout << "S = "; cin >> s;
} while ((h >= 24) || (m >= 60) || (s >= 60));
if (s > 30) m++; // вот тут не надо еще и секунды занулять ?
if (m == 60){
h++;
m = 0;
if (h == 24) h = 0;
};
cout << h << " hrs " << m << " mts " << s << " sec." << endl;
return 0;
}
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Анютка |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Женский Реальное имя: Анна Репутация: ![]() ![]() ![]() |
Большое вам спасибо! Очень помогли!
![]() |
![]() ![]() |
![]() |
Текстовая версия | 27.07.2025 4:55 |