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

Программы для начинающих - C++

Восстановить пароль Регистрация
 
torsherkin
0 / 0 / 0
Регистрация: 21.10.2010
Сообщений: 9
22.10.2010, 01:01     Программы для начинающих #1
Задача №1

Товар стоит a рублей b копеек. За него заплатили c рублей d копеек. Сколько сдачи требуется получить?

Формат ввода:

Вводятся 4 числа: a, b, c, d. Все числа целые неотрицательные и не привышают 100. Гарантируется, что заплаченной суммы достаточно для покупки товара.

Формат вывода:

Необходимо вывести 2 числа: e и f, число рублей и копеек, соответственно.

Пример ввода:
2 1 3 2

Пример вывода:
1 1
--------------------------------------
Пример ввода:
2 1 4 0

Пример вывода:
1 99

-------------------------------------------------------------------------------------------------

Задача №2

Старинные часы бьют через каждые полчаса. Причем в начале каждого часа они бьют столько раз, сколько сейчас часов (по 1 разу - в час ночи и в два часа дня, по два раза - в два часа ночи и два часа дня и т.д., в полночь и в полдень они бьют, соответственно, по 12 раз). Дан промежуток времени. Известно, что прошло строго меньше 0 и 12 часами.

Напишите программу, определяющую, сколько ударов сделали часы за это время.

Формат ввода:

В первой строке вводится начальный момент времени, во второй строке - конечный. Моменты времени задаются двумя целыми числами, разделяющимися пробелом. Первое число задает часы (от 0 до 12), второе - минуты (от 1 до 59)

Формат вывода:

Выведите одно число - сколько ударов сделали часы за этот отрезок времени.

Примеры:

Примеры ввода:
5 20
10 25

Примеры вывода:
45
---------------------------------
Примеры ввода:
5 2
5 21

Примеры вывода:
0

Добавлено через 1 час 1 минуту
Не могу решить вот эти две задачи, помогите, пожалуйста!

Добавлено через 17 минут
Никто не хочет помогать((
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2010, 01:01     Программы для начинающих
Посмотрите здесь:

C++ С/С++ для начинающих
Помогите найти ошибку C++
С++ для начинающих C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IchMors
96 / 92 / 4
Регистрация: 16.05.2010
Сообщений: 307
22.10.2010, 01:16     Программы для начинающих #2
1)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int main()
{   
    unsigned int a, b, c, d;
loop:
    cout << "enter: \n";
    cin >> a >> b; //цена
    if(b<10)b = b * 10;
    cin >> c >> d; //оплата
    if(d<10)d = d * 10;
    if(a>c) {"Error\n"; goto loop;} 
    if(d >= b) b = d - b;
    else {c--; b = 100-(b - d);}
    a = c - a;
 
    cout << a<< ends << b;  
    _getch();
 
    return 0;
}
но, не доработано, не знаю что делать если пользователь вводит от 01 до 09 копеек
torsherkin
0 / 0 / 0
Регистрация: 21.10.2010
Сообщений: 9
22.10.2010, 17:00  [ТС]     Программы для начинающих #3
Цитата Сообщение от IchMors Посмотреть сообщение
но, не доработано, не знаю что делать если пользователь вводит от 01 до 09 копеек
ооок, спасибо, дальше доработаю как-нибудь. Ребзя, если можете - предложите свой вариант. Заранее спасибо.

и конечно же хотелось бы получить код второй программы)))))
hepr
 Аватар для hepr
60 / 32 / 5
Регистрация: 21.10.2010
Сообщений: 538
22.10.2010, 17:39     Программы для начинающих #4
Вот тебе полностью рабочая 1 программа
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdafx.h"
#include "iostream"
 
int _tmain(int argc, _TCHAR* argv[])
{
    int a,b,c,d,e,f;
    std::cout << "VVedi stoimost tovara\n";
    std::cin >> a >> b ;
    std::cout << "Skolko zaplatili\n";
    std::cin >> c >> d;
    int cena,dali;
    cena=a*100+b;
    dali=c*100+d;
    int sdacha;
    sdacha=dali-cena;
    int sdR,sdK;
    sdR=sdacha/100;
    sdK=sdacha % 100;
    std::cout << "Sdacha "<< sdR <<" rubley " << sdK <<" kopeek";
    return 0;
}
Сейчас попытаюсь сделать 2
LineStown
 Аватар для LineStown
63 / 63 / 3
Регистрация: 04.08.2010
Сообщений: 399
22.10.2010, 17:58     Программы для начинающих #5
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;
int main()
{
    setlocale(LC_ALL,"Russian");
    int h1,m1,h2,m2,sum=0;
    cout << "Введите первое время:";
    cin >> h1 >> m1;
    cout << "Введите второе время:";
    cin >> h2 >> m2;
    if(m1==0)sum+=h1;
    for(int i=h1+1;i<=h2;i++)
    {
        sum+=i;
        sum++;
    }
    if(m2>=30)sum++;
    cout << "Часы били:" << sum << endl;
    return EXIT_SUCCESS;
}
Добавлено через 3 минуты
1-я задача в упрощенном виде
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream>
using namespace std;
int main()
{
    setlocale(LC_ALL,"Russian");
    int r1,k1,r2,k2;
    cout << "Введите стоимость:";
    cin >> r1 >> k1;
    cout << "Введите деньги:";
    cin >> r2 >> k2;
    if(k1>k2){r2--;k2+=100;}
    k2-=k1;
    r2-=r1;
    cout << "Сдача:" << r2 << '.' << k2 << endl;
    return EXIT_SUCCESS;
}
hepr
 Аватар для hepr
60 / 32 / 5
Регистрация: 21.10.2010
Сообщений: 538
22.10.2010, 18:03     Программы для начинающих #6
А вот и 2
Кстати у тебя по-моему не правильно подсчитан 1 пример во 2 программе, у меня получается 35 а не 45
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdafx.h"
#include "iostream"
 
int _tmain(int argc, _TCHAR* argv[])
{
int chN,miN,chK,miK,udarov;
std::cout << "Nachalney moment vremeni\n ";
std::cin >> chN >> miN;
std::cout << "Vvedi conechnty period vremeni\n";
std::cin >> chK >> miK;
int a;
a=(chK+miK)-(chN+miN);
udarov=a/30;
int b;
b=chN;
for(b;b<chK;b++) udarov=udarov+b;
std::cout << "Kol-vo udarov = " << udarov;
char Proverka;
std::cin >> Proverka;
    return 0;
}
Reee
 Аватар для Reee
21 / 21 / 1
Регистрация: 21.09.2010
Сообщений: 65
22.10.2010, 18:06     Программы для начинающих #7
у него правельно!
IchMors
96 / 92 / 4
Регистрация: 16.05.2010
Сообщений: 307
22.10.2010, 18:23     Программы для начинающих #8
2)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
int main()
{   
    uint a_h, a_m, b_h, b_m, count = 0;
    bool first = true;
loop1:
    cout << "enter time 1: \n";
    cin >> a_h >> a_m;
    if((a_h > 12)||(a_m > 59)) {cout << "error\n"; goto loop1;}
loop2:
    cout << "enter time 2: \n";
    cin >> b_h >> b_m;
    if((b_h > 12)||(b_m > 59)) {cout << "error\n"; goto loop2;}
    for(;a_h<=b_h; a_h++)
    {
        if(a_h < b_h) 
        {
            count +=a_h+1;
            count++;
            if(first)
                if(a_m>30) {count--; first = false;}
        }
        else 
        {
            if(a_h == b_h)
                if((a_m < 30)&&(b_m > 30))
                    count++;
        }
        
    }
    cout << "\ncount: " << count << endl;
    _getch();
    return 0;
}
Reee
 Аватар для Reee
21 / 21 / 1
Регистрация: 21.09.2010
Сообщений: 65
22.10.2010, 18:47     Программы для начинающих #9
Оказывается я был неправ

Вот что я наколякл:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include<iostream>
#include<iomanip>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "rus");
    
    int a1=0;
    int a2=0;
    int m1=0;
    int m2=0;
    
    cout<<"Начальное время  ";
    cin>>a1>>a2;
    if(a1<0 || a1>12 ||a2<1 ||a2>59)
    {
        cout<<"Неправельно введено время."<<endl<<"Завершение программы"<<endl<<endl<<endl;
    return -1;
    }
    cout<<"Конечное время   ";
    cin>>m1>>m2;
    if( m1<0 || m1>12  || m2<1 || m2>59)
    {
        cout<<"Неправельно введено время."<<endl<<"Завершение программы"<<endl<<endl<<endl;
    return -1;
    }
    
    int ydar=0;
    int a=m1-a1;
    for(int i=0;i<a;i++)
    {
        ydar+=(a1+1);
        a1++;
    }
    cout<<"Количество ударов "<<ydar<<endl<<endl;
}
И в первом примере у меня получилось 40
т.к 6+7+8+9+10=40 )))
torsherkin
0 / 0 / 0
Регистрация: 21.10.2010
Сообщений: 9
22.10.2010, 19:24  [ТС]     Программы для начинающих #10
Всем огрооомное спасибо зато, что потратили свое время на меня.

Очень благодарен
Yandex
Объявления
22.10.2010, 19:24     Программы для начинающих
Ответ Создать тему
Опции темы

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