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

Банкомат. В чем ошибка? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программа переноса слов по слогам исправить ошибки http://www.cyberforum.ru/cpp-beginners/thread1155352.html
#include <stdio.h> #include <conio.h> #include <stdlib.h> #include <string.h> const maxrule=4;//êîë-âî ïðàâèë ïåðåíîñà...ìîæåòå äîïèñàòü ñâîè... ô-öèÿ äîëæíà ïðèíèìàòü ñëîâî è âîçâðàùàòü ïîçèöèþ äå ìîíà ïåðåíåñòè. int gl(char lit) { int i,res=0; char *glasn="óåûàîýÿèþ¸"; //char *glasn="eyuioav"; for (i=0;i<strlen(glasn);i++)
C++ Составить программу для вычисления среднего объема шаров Решите пожалуйста=* Составить программу для вычисления Z=\frac{{V}_{1}+{V}_{2}+{V}_{3}}{3} где - {V}_{1},{V}_{2},{V}_{3} - объемы шаров с радиусами {r}_{1},{r}_{2},{r}_{3}, Вычисление объема шара по формуле V=\frac{4}{3}\pi {R}^{2} оформить при помощи функции. http://www.cyberforum.ru/cpp-beginners/thread1155350.html
Трабл с решением задания, условные операторы C++
Здраствуйте, возникла определенная проблема при решении задания. Полагаю, не суть, что за задание, проблема вот в чем: В приведенном ниже алгоритме: #include <stdio.h> #include <conio.h> #include <math.h> int main() { float x, y;
C++ Проверить, високосный ли год, и вычислить сколько членов семьи родились в високосные годы
Пожалуйста напишите код буду благодарна * Используя функцию year проверки ли год високосным, вычислить, сколько членов вашей семьи родились в високосные годы. Параметром функции является номер года, результат логического типа. / / Функция определяет ли год високосным bool year (unsigned int x) { if (x% 4) return false; else return true;
C++ Работа со структурами, исправить ошибки в коде http://www.cyberforum.ru/cpp-beginners/thread1155324.html
Задаю структуру. struct str_Discipl { int Lektchii, Lab, Prakt; String Naimenovanie_distchipliny; }Discipl; struct str_Spetcialnosti { str_Discipl; String Spetcialnost;
C++ Бинарный поиск (Сложность двоичного поиска) Вася загадал число от 1 до N. За какое наименьшее количество вопросов (на которые Вася отвечает "да" или "нет") Петя может угадать Васино число? Формат входных данных Вводится одно число N (1 < N < 10001). Формат выходных данных Выведите наименьшее количество вопросов, которого гарантированно хватит Пете, чтобы угадать Васино число. подробнее

Показать сообщение отдельно
Raduga_
0 / 0 / 0
Регистрация: 23.04.2014
Сообщений: 3

Банкомат. В чем ошибка? - C++

23.04.2014, 17:31. Просмотров 754. Ответов 7
Метки (Все метки)

Лимит времени 2000/4000/4000/4000 мс. Лимит памяти 65000/65000/65000/65000 Кб.
Автор: Фёдор Меньшиков, ВГПУ.

Реальный текст программы.

ATM may contain notes of four kinds: 50, 100, 500 and 1000 rubles. Amount of notes of each kind at any moment is a non-negative integer number. 0 means that there are no notes of this kind. The lack of some notes may be filled with notes of smaller cost. E.g., if the client requested 500 rubles, but ATM has only four 100-ruble notes and two 50-ruble notes, the client will still get his cash.

Suppose that you requested a sum of cash, that is a positive integer number and divides by 50. ATM denied this request, since there is no way it could be done with notes available right now. Find the smallest sum greater than the requested one, such that ATM theoretically could give out.

Input
The first line of input contains a single positive number that divides by 50 and is less or equal to 3000. It's the sum that the ATM could not give out.
Output
Output the single number - the smallest sum greater than the requested one. If there is no such sum, output 0.

Input 1 Output 1
150 200


Перевод (корявенький)

Банкомат может содержать примечания четырех видов: 50, 100, 500 и 1000 рублей. Сумма примечаний каждого вида в любой момент - неотрицательное число целого числа. 0 средств, что нет никаких примечаний этого вида. Отсутствие некоторых примечаний может быть заполнено примечаниями меньшей стоимости. Например, если клиент просил 500 рублей, но у банкомата есть только четыре примечания за 100 рублей и два примечания за 50 рублей, клиент все еще получит свои наличные деньги.

Предположим, что Вы просили сумму наличных денег, которые являются положительным числом целого числа и делятся на 50. Банкомат отрицал этот запрос, так как нет никакого способа, которым это могло быть сделано с примечаниями, доступными прямо сейчас. Сочтите самую маленькую сумму больше, чем требуемая, такая, что банкомат теоретически мог выделить.

Ввод
Первая линия входа содержит единственное положительное число, которое делится на 50 и является меньше или равно 3000. Это - сумма, которую не мог выделить банкомат.
Вывод
Произведите единственное число - самая маленькая сумма, больше, чем требуемая. Если нет такой суммы, произведите 0.

Текст Программы
(Писала впервые, в Microsoft Visual Studio 2010 все условия выполняются вроде, но на сайте компилятор ругается,что либо что-то лишнее либо чего-то нет)


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;
int main()
  {
    int const k1=50, k2=100, k3=500, k4=1000;
int a;
  cin >> a;
  {
if(((a>=3000)&&(a%50!=0))||((a>=3000)&&(a%100!=0))||(a<=50)|| ((a>=3000)&&(a%50!=0)&&(a%100!=0))||((a>=3000)&&(a%100==0)&&(a%50==0))||
    ((a>=3000)&&(a%100==0)&&(a%50!=0))||((a>=3000)&&(a%100!=0)&&(a%50==0))||((a%50!=0)&&(a%100!=0)))
    cout << '0'<< endl;
else
if ((a!=k2)&&(a!=k3)&&(a!=k4))
cout<<(a+k1)<<endl;
else 
  cout << '0'<< endl;
}
  }
________
___________________

Буду очень рада, если подскажите, что я не так сделала, постараюсь исправить и успеть защитить задачу, заранее благодарна)))
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru