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

решил изучить с++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Из всех предложений веденных пользователем с клавиатуры найти минимальное http://www.cyberforum.ru/cpp-beginners/thread264999.html
Чет никак не могу сообразить как написать программу с вложанными циклами путаюсь ( Задача : Из всех предложений веденных пользователем с клавиатуры найти минимальное и вывести его на экран .
C++ Даны 3 числа. Найти наибольшее из них (С++) помогите пожалуйста решить задачи: 1) Даны 3 числа. Найти наибольшее из них. 2) Даны 2 числа. Наибольшее из этих чисел заменить удвоенным произведением этих чисел, а наименьшее - их полусуммой.... http://www.cyberforum.ru/cpp-beginners/thread264995.html
C++ Заполнение змейкой, массив не 2D!
Добрый день всем. вот получил задание по С++ заполнение змейкой, но не такое простое как кажется на первый взгляд( искал на форуме не нашел, и те посты и темы что были про заполнение змейкой мне не...
C++ Найти разницу между наименьшей и наибольшей зарплатой
(Задача на файлы). Составить программу решения, используя функции. Сама задача: Задан зарплаты K работников. Найти разницу между наибольшей и наименьшей. Типичные действия оформить в функции. ...
C++ Найти максимум http://www.cyberforum.ru/cpp-beginners/thread264962.html
здраствуйте,помогите написать программу на dev-c++,с объяснением пожалуста. условие: Ввести три числа и найти наибольшее из них.например: 4 15 9,наибольшее 15. заранее благодарен.
C++ Одномерные массивы Здравствуйте уважаемы программисты! И снова я прибегаю к вашей помощи! Вот задачка: В одномерном массиве все отрицательные заменить максимальным элементом. Полученный массив отсортировать в порядке... подробнее

Показать сообщение отдельно
neske
1495 / 862 / 82
Регистрация: 26.03.2010
Сообщений: 2,951
10.04.2011, 11:53
diagon, решал я эту задачу, на acmp помоему, тесты все прошла.
Я сначала решал как вы, шел с конца циклом и округлял, 1 тест не проходила. Потом дошло, что достаточно посмотреть всего лишь на одну цифру. В общем, код:

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
#include <iostream>
#include <fstream>
#include <string>
 
int main()
{
    std::ifstream ifs ("INPUT.TXT");
    std::ofstream ofs ("OUTPUT.TXT");
    std::string str ("2.7182818284590452353602875");
 
    int N;
    ifs >> N;
 
    if (N == 0) ofs << "3";
        else
        {
            if (int (str [N + 2] >= 53))
                str [N + 1] = char (int (str[N + 1]) + 1);
 
            for (int i = 0; i < N + 2; i++)
                ofs << str [i];
        }
 
    ifs.close ();
    ofs.close ();
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru