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

Сумма двух чисел - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Прямой файловый ввод- вывод http://www.cyberforum.ru/cpp-beginners/thread113997.html
ребят я не знаю как делать ету лабу помогите плз
C++ Запись данных в файл Есть программа "телефонный справочник", которая считывает данные, а потом по требованию выводит их на экран. Как сделать, что бы она записывала эти данные в .txt файл? #include <iostream.h>... http://www.cyberforum.ru/cpp-beginners/thread113996.html
C++ Стандартный файловый ввод- вывод
ребят я не успеваю помогите пожалуста вот условие Разбить каждую строку на две строки приблизительно одного размера, не разрывая слова.
Шаблоны, массивы.. C++
Здравствуйте. Мне нужно написать функцию, исключающую заданную переменную из массива любого типа, используя шаблоны. Проблема в следующем: При использовании массивов типа float и вводе...
C++ Конструирование программ из нескольких файлов http://www.cyberforum.ru/cpp-beginners/thread113990.html
ребят мне по зарез надо сделать эту лабу помогите плз условие на картинке
C++ Функции пользователя мне нужно сделать лабу а времени в обрез помогите плз вот условие подробнее

Показать сообщение отдельно
EvilSlipp3r
32 / 32 / 3
Регистрация: 25.03.2010
Сообщений: 45
08.04.2010, 00:06
Выложил как пример.
Файл number1.txt - Каждое число в своей строке.
Складывает только положительные целые числа. Число в векторе хранится в обратном порядке.
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
75
76
77
78
79
80
81
82
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include <stdlib.h>
 
using namespace std;
 
// суммирование
vector<int> summ(vector<int>& num1, vector<int>& num2)
{
        int maxlen = num1.size() > num2.size() ? num1.size() : num2.size();
        vector<int> result ; // вектор для результата сложения
 
        int digit1, digit2, rest = 0, summ;
        for (int i = 0; i < maxlen; i++) {
                digit1 = i < static_cast<int>(num1.size()) ? num1[i] : 0;
                digit2 = i < static_cast<int>(num2.size()) ? num2[i] : 0;
                summ = rest + digit1 + digit2;
                result.push_back(summ % 10);
                rest = summ / 10;
        }
        if (rest)
                result.push_back(rest);
        return result;
}
 
// запись числа в вектор
vector<int> readNumber(istream &is) {
        string strNum;
        is >> strNum;
        vector<int> vecNum;
        char digit;
 
        for (int i = static_cast<int>(strNum.length()) - 1; i >= 0 ; i-- ) {
                digit = *strNum.substr(i,1).c_str();
                if (!isdigit(digit))
                        return vecNum;
                vecNum.push_back(static_cast<int>(digit - '0'));
        }
        return vecNum;
}
 
// печать
void printNumber(vector<int>& vecNum) {
        vector<int>::reverse_iterator number;
        for(number = vecNum.rbegin(); number != vecNum.rend(); ++number ) {
                cout << *number ;
        }
        cout << endl ;
}
 
 
 
int main(){
 
        vector<int> number1, number2; 
 
        ifstream fin("number1.txt"); 
        if (!fin) {
                cerr << "*** input file not found." << endl;
                return 1;
        }
 
        number1 = readNumber(fin);
        number2 = readNumber(fin);
 
        cout << "First digit: " ;
        printNumber(number1);
        cout << "Second digit: " ;
        printNumber(number2);
 
        cout << "===== \n";
        
        // сложение
        vector<int> number3 = summ(number1,number2);
 
        cout << "Final summ = " ;
        printNumber(number3);
 
        return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru