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

Калькулятор Z-1. Укажите на ошибку в программе к задаче - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Проверить можно ли ходом короля из одной клетки попасть в другую http://www.cyberforum.ru/cpp-beginners/thread1242224.html
Делать было нечего решил все простые задачи перерешать с сайта. Ближе к делу: Поле шахматной доски определяется парой чисел (a, b), каждое от 1 до 8, первое число задает номер столбца, второе – номер строки. Заданы две клетки. Определите, может ли шахматный король попасть с первой клетки на вторую за один ход. Формат входных данных: Даны 4 целых числа от 1 до 8 каждое, первые два задают...
C++ Как удалять определенные значения из массива? Пишу программу по одной задаче, в которой требуется удалить элементы, значение которых меньше среднего арифметического динамического массива. Думал, элемент возможно удалить с помощью delete", но это не работает. В гугле нашел несколько методов, но описаны они были как-то криво, в итоге я ничего не понял. Так как удалять элементы из простого и динамического массива? Объясните подробно http://www.cyberforum.ru/cpp-beginners/thread1242210.html
C++ Fopen не видит путь к файлу
#include <stdio.h> #include <iostream> #include <fstream> #include <string> #include <vector> #include <map> typedef std::map<std::string, std::string> mapss; // An unsigned char can store 1 Bytes (8bits) of data (0-255)
C++ Почему visual studio 2008 не видит директиву #include <iostream>
Здравствуйте! Помогите пожалуйста с решением проблемы. Проблема стоит в том что мой компилятор не видит #include <iostream> и требует ввести "stdafx.h" но если я ее ввожу то у меня перестает видить cin и cout
C++ Для каждой открывающей скобки найти позицию ей соответствующей закрывающей скобки http://www.cyberforum.ru/cpp-beginners/thread1242179.html
Доброго времени суток. Подскажите пожалуйста алгоритм или путь к решению задачи, используя СТЕК Дана ПСП, ваша задача для каждой открывающей скобочки найти позицию ей соответствующей закрывающей скобочки. пример входные данные (())() выходные
C++ Корректно ли использовать goto? Читал что оператор goto вообще советуют не использовать, кроме разве что глубоких циклов. Но нормально ли это будет, например, вот в таком коде: int main() { char choice; cin >> choice; while (cin.get() != '\n') { cin.ignore(100, '\n'); bad:cout << "Bad choice. Try again.\n"; cin >> choice; подробнее

Показать сообщение отдельно
Deligor
1 / 1 / 0
Регистрация: 12.04.2014
Сообщений: 30
13.08.2014, 21:21     Калькулятор Z-1. Укажите на ошибку в программе к задаче
Уважаемые форумчане, укажите пожалуйста на ошибку в программе.

Пишу программу к задаче, валится на 10 тесте (Wrong Answer). Подскажите, пожалуйста, что не так.

Условие задачи:
Имя входного файла: calcz.in
Имя выходного файла: calcz.out
Ограничение по времени: 2 секунды
Ограничение по памяти: 64 мегабайта
Компания Z готовится к выпуску своего супер пупер мега калькулятора Z-1. Ме-
неджер фирмы обратился к Вам за помощью. Ему необходима программа, которая
могла бы складывать числа практически любой длины. "Если такая программа
будет написана, - говорит он, - это будет переворот в области сложения чисел на
супер пупер мега калькуляторах".

Формат входных данных
Cодержит две строки, на каждой из которых записано длинное неотрицательное
число, содержащее не менее одного знака, но при этом не более 60000 знаков. Ваша
задача - сложить эти два числа и вывести результат в выходной файл.

Формат выходных данных
Должен содержать только одно число - сумму двух исходных чисел.

Пример 1
calcz.in:
3
2
calcz.out:
5

Пример 2
calcz.in:
1000000000000
1000000000001
calcz.out:
2000000000001

Мое решение:
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
#include <iostream>
#include <fstream>
#include <iomanip>
#include <vector>
#include <string>
#include <stdlib.h>
 
using namespace std;
 
ifstream fin;
ofstream fout;
 
typedef vector<int> LongNum;
 
int main(){
    fin.open("calcz.in");
    fout.open("calcz.out");
    LongNum A, B;
    int base = 1000000000, ost = 0;
    string number;
 
    //READ A
    fin >> number;
    for(int i=number.length(); i>=9; i-=9)
        A.push_back( atoi( number.substr(i-9,9).c_str()));
    if(number.length()%9!=0)
        A.push_back( atoi( number.substr(0, number.length()%9).c_str()));
 
    //READ B
    fin >> number;
    for(int i=number.length(); i>=9; i-=9)
        B.push_back( atoi( number.substr(i-9,9).c_str()));
    if(number.length()%9!=0)
        B.push_back( atoi( number.substr(0, number.length()%9).c_str()));
 
    //A+B -> A
    for(int i=0; i<(A.size()>B.size() ? A.size() : B.size()); i++){
        if(i==A.size())
            A.push_back(0);
        A[i] += (i >= B.size() ? 0 : B[i]) + ost;
        ost = (A[i]>=base ? 1 : 0);
        A[i] -= base*ost;
    }
    if(ost==1)
        A.push_back(1);
 
    //WRITE A
    fout << A.back();
    for(int i=A.size()-2 ; i>=0; i--)
        fout << setw(9) << setfill('0') << A[i];
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru