Форум программистов, компьютерный форум CyberForum.ru

Функция, которая увеличивает на Т секунд время - C++

Восстановить пароль Регистрация
 
Bloodykeeper
This party getting crazy!
 Аватар для Bloodykeeper
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
13.01.2010, 20:43     Функция, которая увеличивает на Т секунд время #1
Описать процедуру IncTime (H, M, S, T), которая увеличивает на Т секунд время, заданное в часах Н, минутах М и секундах S (H, M и S- входные и выходные параметры, Т- входной параметр; все параметры целые положительные). Дано время (в часах Н, минутах М, секундах S) и целое число Т. Используя процедуру IncTime, увеличить данное время на Т секунд и вывести новые значения Н, М, S.

Помогите решить, я все наработки потерял.(
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.01.2010, 20:43     Функция, которая увеличивает на Т секунд время
Посмотрите здесь:

Определить время через K (вводится с клавиатуры) секунд C++
C++ Функция: Написать функцию next(t, t1, d), которая присваивает параметру t1 время на d секунд больше, чем время t.
Написать программу, которая переводит время из минут и секунд в секунды C++
Напишите программу, которая увеличивает элементы массива с четными индексами на «1» C++
Напечатать новое время после добавления заданного числа секунд к заданному C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
odip
Эксперт C++
 Аватар для odip
7225 / 3287 / 58
Регистрация: 17.06.2009
Сообщений: 14,165
13.01.2010, 22:16     Функция, которая увеличивает на Т секунд время #2
И в чем трудности ?
C
1
2
3
4
5
6
7
8
9
10
t= 3600*H+60*M+S+T;
H= t/3600;
t%= 3600;
M= t/60;
S= t%60;
 
// H может получиться >= 24 часов.
// Из условия неясно что делать с этим.
// Но если нужно, то можно подравнять по дням
H%= 24;
Bloodykeeper
This party getting crazy!
 Аватар для Bloodykeeper
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
14.01.2010, 07:18  [ТС]     Функция, которая увеличивает на Т секунд время #3
а можно плиз весь листинг программы, мне на пятницу надо, а я совершенно не успеваю, сдавать все долги..(
טאַראַס
14.01.2010, 08:59
  #4

Не по теме:

Твоя тема может быть неправильно понята так: "функция, которая работает на T секунд дольше". В то же время название темы врядли можно считать плохим.

Bloodykeeper
This party getting crazy!
 Аватар для Bloodykeeper
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
14.01.2010, 15:07  [ТС]     Функция, которая увеличивает на Т секунд время #5
вообщето тема была переименована администрацией, она была названа как функция. помощь всё ещё требуется.
breeve
 Аватар для breeve
73 / 73 / 14
Регистрация: 01.08.2009
Сообщений: 177
14.01.2010, 15:40     Функция, которая увеличивает на Т секунд время #6
что-то люди странные пошли.. им объясняют а они не понимают))
Вот то что написал odip только поразжеванней)):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
void IncTime(int,int,int,int);
 
int main()
{
    IncTime(15,23,45,90);
    return 0;
}
 
void IncTime(int H,int M,int S,int T){
    int tm= 3600*H+60*M+S+T;
    H = tm/3600;
    tm %= 3600;
    M = tm/60;
    S = tm%60;
    cout << H<<":"<<M<<":"<<S;
}
Добавлено через 6 минут
Если по-другому прочитать задание то получится вот такой код с ссылочками:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
 
void IncTime(int &,int &,int &,int);
 
int main()
{
    int minutes = 23, hours = 15, seconds = 45;
    IncTime(hours,minutes,seconds,165);
    cout << hours<<":"<<minutes<<":"<<seconds;
    return 0;
}
 
void IncTime(int &H,int &M,int &S,int T){
    int tm= 3600*H+60*M+S+T;
    H = tm/3600;
    tm %= 3600;
    M = tm/60;
    S = tm%60;
}
Bloodykeeper
This party getting crazy!
 Аватар для Bloodykeeper
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
14.01.2010, 18:02  [ТС]     Функция, которая увеличивает на Т секунд время #7
это всё чудно, но мне б на си надо без ++ =) и надо чтоб секунды с клавиатуры ввести можно было. Спасибо за помощь, надеюсь, что кто-то доделает, пока я займусь чертежами.
breeve
 Аватар для breeve
73 / 73 / 14
Регистрация: 01.08.2009
Сообщений: 177
14.01.2010, 18:40     Функция, которая увеличивает на Т секунд время #8
Насчет языка надо сразу писать какой нужен.. Чтобы не парить людей попросту!
вот на с, с указателями:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
 
void IncTime(int *,int *,int *,int );
int main()
{
    int minutes, hours, seconds;
    printf("Vvedite vremya(15 43 22):");
    scanf("%u %u %u", &hours, &minutes, &seconds);
    IncTime(&hours,&minutes,&seconds,165);
    printf("%d:%d:%d",hours,minutes,seconds);
    return 0;
}
 
void IncTime(int *H,int *M,int *S,int T){
    int tm= 3600*(*H)+60*(*M)+(*S)+T;
    *H = tm/3600;
    tm %= 3600;
    *M = tm/60;
    *S = tm%60;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.01.2010, 23:23     Функция, которая увеличивает на Т секунд время
Еще ссылки по теме:

C++ Написать программу, которая увеличивает положительные элементы матрицы
Функция, которая увеличивает каждый элемент одномерного массива в два раза C++
Программа которая увеличивает цифры в файле на единицу C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Bloodykeeper
This party getting crazy!
 Аватар для Bloodykeeper
78 / 74 / 1
Регистрация: 22.09.2009
Сообщений: 427
16.01.2010, 23:23  [ТС]     Функция, которая увеличивает на Т секунд время #9
в общем прижучил я свой компилятор, теперь у меня всё работает...только что тестирую функцию- не то это. Здесь тупо выводится вводное время, а мне- нужно ввёл нужное время (часы, минуты, секунды) , а потом ещё раз ввести секунды. И потом увеличить время на эти секунды. А здесь время делает тупо +165 секунд. Плдскажите: как можно эти 165 секунд заменить на ввод секунд с клавиатуры...я вроде бы и сам так сказать представляю, но голова не варит уже, с этой подготтовкой к экзамену(

Добавлено через 12 минут
всё не надо) я написал)

вот если надо кому-нубудь будет:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
 
void IncTime(int *,int *,int *,int );
int main()
{
    int minutes, hours, seconds, T;
    printf("Please enter a time (hours: minutes: seconds):");
    scanf("%u %u %u", &hours, &minutes, &seconds);
    printf("Please enter the seconds to rise time: ");
    scanf("%d", &T);
    IncTime(&hours,&minutes,&seconds,T);
    printf("%d:%d:%d",hours,minutes,seconds);
    return 0;
}
 
void IncTime(int *H,int *M,int *S,int T){
    int tm= 3600*(*H)+60*(*M)+(*S)+T;
    *H = tm/3600;
    tm %= 3600;
    *M = tm/60;
    *S = tm%60;
}
Yandex
Объявления
16.01.2010, 23:23     Функция, которая увеличивает на Т секунд время
Ответ Создать тему
Опции темы

Текущее время: 02:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru