Сложение двух чисел из файла в Visual Studio 2015 на C++ (консольное Win32 приложение)
В статье рассказывается как считать из файла два числа, сложить их, а результат записать в другой файл.
Создание проекта
Создание проекта





Код основной программы
Пропишите данные строчки:
#include using namespace std;
А теле главной функции добавьте этот код:
//Создаем файловые потоки на ввод и вывод ifstream in("input.txt"); ofstream out("output.txt"); int a, b, c; //Считываем из файла числа in >> a >> b; c = a + b; //Записываем в файл числа out c;

Запуск программы
Разместите в папку с исходным кодом программы файл input.txt со следующим содержимым:


Черный экран появится и сразу исчезнет. При этом в папке с исходным кодом программы появится файл output.txt с содержимым:

- Visual Studio 2017 Logo.svg by Microsoft Corporation / (2019-06-08)
- Visual Studio
- C++
- Сложение двух чисел
- Работа с файлами
В статье рассказывается как считать из файла два числа, сложить их, а результат записать в другой файл.
В статье рассказывается как считать из файла два числа, сложить их, а результат записать в другой файл.
Harrix
- GitHub User
- [email protected]
Write an awesome description for your new site here. You can edit this line in _config.yml. It will appear in your document head meta (for Google search results) and in your feed.xml site description.
Как сложить два числа в Ассемблере
Складывать числа в ассемблере не так уж и сложно. В подавляющем большинстве случаев это делается с помощью команды ADD. Но в любой задаче, даже самой простой, могут встретиться неожиданности, которые не может предусмотреть новичок в силу того, что не имеет достаточного опыта и знаний. Поэтому, несмотря на то, что в описании инструкции ADD всё достаточно понятно, я решил написать небольшую статью с примерами.
Итак, первое, что нам надо помнить — это размер числа. Если мы складываем два числа, то размер результата может быть больше, чем размер регистра, в который помещается результат.
Второе — мы можем складывать и отрицательные числа. Следовательно, и результат может быть отрицательным.
И да — сложение положительного и отрицательного чисел — это, по сути, вычитание одного числа из другого. Хотя для вычитания в ассемблере есть команда SUB.
Команда ADD существует с незапамятных времён — ещё с процессора 8086. Поэтому она поддерживается и всеми последующими процессорами Интел и совместимыми.
Простейший пример использования:
MOV AL, 3 ADD AL, 2 ; AL = 3 + 2 = 5
Здесь мы сначала записали число 3 в регистр AL, а затем применили команду ADD для сложения числа в AL с числом 2. Результат записывается в нашем случае в AL. И там после выполнения команды будет число 5.
Но складывать можно не только значение в регистре с числом. Но и, например, значения двух регистров:
MOV BX, 7 MOV AX, 2 ADD AX, BX ; AX = 7 + 2 = 9
Также вместо регистров можно использовать память:
MOV [110h], 3 ADD [110h], 2 ; По адресу [110h] теперь хранится 5 MOV AL, 1 ADD AL, [110h] ; AL = 6
При работе с памятью, конечно, надо понимать, что находится по данному адресу и к каким последствиям может привести прямое обращение к памяти и изменение её содержимого. В данном примере на это мы внимания не обращаем. Это просто пример.
Складывать можно не только константы, регистры и память, но и переменные:
ADD BL, MyVar ADD MyVar, 3
Не знаю, во всех ли ассемблерах это будет работать. Но в эмуляторе точно работает. Причём оба варианта. То есть можно записывать результат как в регистр, так и в переменную.
Есть ещё такая тема, как сложение с переносом. Но в этой статье рассматривать её не будет. Больше сведений об этом можно найти здесь.
И есть ещё такая вещь, как BCD-значения. Инструкции для работы с такими значениями: AAA, AAD, AAS, AAM.
На этом пока всё. Подключайтесь к группе Основы программирования в Телеграм, или к другим каналам (ссылки ниже), чтобы ничего не пропустить.
Сложить два введенных числа и вывести результат

Что в коде не так? Результат не тот, что нужен. И объясните, чем отличаются целое десятичное от целого десятичного со знаком. Я так понял, что число 1 — это целое, 1.1 — целое десятичное.
Пожалуйста, не нужно давать мне советы типа:»Поищите в google». Уже искал, нашёл правила использования printf и scanf функций, но мне нужен конкретный пример. Пожалуйста, если есть таковой, приведите его, заранее спасибо!
Требуется сложить два целых числа А и В
Требуется написать программу на с#. Дается входные данные Во входном файле записано два неотрицательных целых числа, не превышающих 10^100, по одному в каждой строке. Выходные данные В единственную строку выходного файла нужно вывести одно целое число — сумму чисел А и В, без лидирующих нулей. Вот что у меня получилось:)
class Program < static void Main(string[] args) < int A, B, i, S; Console.WriteLine("Введите числа A и B: "); A = int.Parse(Console.ReadLine()); B = int.Parse(Console.ReadLine()); S = 0; for (i = A; i = "); > Console.ReadKey(); > >
Отслеживать
задан 29 мая 2021 в 19:31
3 1 1 бронзовый знак
В задании написано сумму двух чисел, а код что считает? И 10^100 не влезет в Int.
29 мая 2021 в 19:41
И я на 97% уверен, что это получилось не у тебя, а у кого-то другого, и ты даже не знаешь, что делает этот код.
29 мая 2021 в 19:50
«Вот что у меня получилось» — ничего не получилось.
– user176262
29 мая 2021 в 19:52
А как это решить? Я просто не шарю я бублик.
29 мая 2021 в 19:54
@RiAXxx «числа, не превышающих 10^100» — намек на то, что числа в int не поместятся. Складывать их надо «в столбик».
– user176262
29 мая 2021 в 19:57
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Поскольку задача учебная или конкурсная, дам лишь подсказку.
На C# с числами произвольной длины можно работать при помощи структуры BigInteger. В частности, эта структура умеет распарсить себя из строкового представления, а также поддерживает стандартные арифметические операции наподобие сложения.
Но раз задание учебное, я бы порекомендовал не пользоваться готовым решением (это всё же некоторая разновидность читерства), а реализовать самостоятельно поразрядное сложение, а также парсинг и обратную конвертацию в строку. Например, вы можете воспользоваться очевидным (хотя и малоэффективным) представлением числа в виде списка цифр.
Задание подсказывает, что важно не забыть интересный крайний случай: когда количество разрядов суммы меньше или больше количества разрядов слагаемых.