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

Купить торт - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Описание протокола, заголовка и тела функции (Язык Pelles C) http://www.cyberforum.ru/cpp-beginners/thread271588.html
Описать функцию IsIdent целого типа, проверяющую, является ли строка S (переданная в качестве параметра) допустимым идентификатором языка «С». При утвердительном ответе возвращается 0. Если S является пустой строкой, то возвращается -1, Если строка начинается с цифры, то возвращаетcя -2. Если S содержит недопустимые символы, то возвращается номер первого недопустимого символа....
C++ Структуры, перечисления ( Язык Pelles C) 1.Разработать программу. Вывести список сообщений на экран, упорядочив по адресу отправителя, а внутри каждого адреса управителя по дате пересылки. СООБЩЕНИЕ: - адреса отправителя и получателя (целые положительные трёхзначные числа); - текст сообщения (строка 50 символов); - дата пересылки (в формате ДД.ММ.ГГГГ). 2.Для структуры выше данного задания, разработать программу ... http://www.cyberforum.ru/cpp-beginners/thread271585.html
C++ Не работает random() для динамического массива
здравствуйте. имеется квадратная матрица, созданная в динамической памяти. нужно заполнить ее случайными числами в интервале (-5;5). использую rand(), толку никакого: матрица выводится на экран, но ее элементы огромные n-значные числа. пробовал делать ввод с клавиатуры-все работает, а через рандом никак не хочет заполнять почему-то. #include <iostream> #include <stdlib.h> #include <time.h>...
C++ Вывести все числа, которые встречаются в этом массиве несколько раз
Дан массив, состоящий из 100 целых чисел. а) Вывести все числа, которые встречаются в этом массиве несколько раз. б) Вывести все числа, которые встречаются в массиве только по одному разу. Незнаю как рещить...Помогите написать текст программы...
C++ Строки (Язык Pelles C) http://www.cyberforum.ru/cpp-beginners/thread271579.html
/************************************************ Дана строка предложение. Определить в предложении слова максимальной и минимальной длины и поменять их местами. ************************************************/ #include <stdio.h> #include <string.h> int main(int argc, char *argv) {
C++ ИЗ PACKAL в C++ Задача реализованная на PACKALЕ Program zapic; Uses Crt; type AEROFLOT =record Nazvanie:string; Nomer:byte; pynktpributya:string; sovpadenie:byte; End; var Poletu:array of AEROFLOT; подробнее

Показать сообщение отдельно
Mr.X
Эксперт С++
 Аватар для Mr.X
3011 / 1667 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
07.04.2011, 11:38     Купить торт
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
/////////////////////////////////////////////////////////////////////////////////////////
//Сколькими способами можно заплатить за торт стоимостью n. если можно использовать 
//монеты натуральным номиналом в любом количестве.
//(n <= 100)
//Примеры:
//1 -> 1
//2 -> 2
//3 -> 3
//4 -> 5
//5 -> 7
//6 -> 11
//7 -> 15 
/////////////////////////////////////////////////////////////////////////////////////////
#include <iostream>
/////////////////////////////////////////////////////////////////////////////////////////
const int  MIN_COST = 1;
const int  MAX_COST = 100;
/////////////////////////////////////////////////////////////////////////////////////////
int  get_coins_combinations_total(int  target_cost)
{
    const int  BAD_RESULT = -1;
    if(target_cost > MAX_COST)  return  BAD_RESULT;
    int  cost_combs_total_to_noms_is_not_less[MAX_COST + 2][MAX_COST + 2] = {0};    
 
    for(int  cost = 1; cost <= target_cost + 1; ++cost)
    {
        cost_combs_total_to_noms_is_not_less[cost][cost] = 1;
        for(int  nom = 1; nom < cost; ++nom)
        {
            int  old_cost = cost - nom;
            for(int  old_nom = nom; old_nom <= old_cost; ++old_nom)
            {
                cost_combs_total_to_noms_is_not_less[cost][nom] 
                    += cost_combs_total_to_noms_is_not_less[old_cost][old_nom];
            }
 
            if(   cost  == target_cost + 1
               && nom   == 1)
            {
                return  cost_combs_total_to_noms_is_not_less[target_cost + 1][1];
            }
        }        
    }
    return  BAD_RESULT;
}
/////////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));
    for(;;)
    {
        int  cost = 0;
        do
        {
            std::cout << "Введите стоимость торта ("
                      << MIN_COST
                      << ".."
                      << MAX_COST
                      << "): ";
        
            std::cin >> cost;
        }while(   cost      < MIN_COST
               || MAX_COST  < cost);        
        
        std::cout << "За торт стоимостью "
                  << cost
                  << " можно заплатить "
                  << get_coins_combinations_total(cost)
                  << " способами."
                  << std::endl
                  << std::endl
                  << std::endl;    
    }
}
 
Текущее время: 18:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru