0 / 0 / 0
Регистрация: 13.09.2017
Сообщений: 2
1

Найти наибольший общий делитель чисел записанных в файл

13.09.2017, 12:42. Показов 983. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание по теме "записи и чтение данных с файла из файлов"
Нужно составить программу:
которая должна считать из файла 2 числа и записать в другой файл их наибольший общий делитель
Для нахождения НОД использовать алгоритм Евклида
(Алгоритм звучит так:пока числа не равны от большего числа отнимаем меньшее и результат записываем в большее)
начало программы такая
var f:text;
m,n,x:integer;
begin.....
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.09.2017, 12:42
Ответы с готовыми решениями:

Найти наибольший общий делитель чисел
Найти наибольший общий делитель чисел M и N используя метод Эйлера: если M делится на N, то НОД (N,...

Найти наибольший общий делитель двух чисел
найти наибольший общий делитель двух чисел с помощью рекурсии и без нее

Найти наибольший общий делитель двух чисел
Задание: найти наибольший общий делитель двух чисел. Сам код: #include <iostream> using...

Найти наибольший общий делитель двух чисел
Для заданных натуральных целых чисел n и m найти наибольший общий делитель (НОД), используя...

3
86 / 45 / 11
Регистрация: 20.12.2010
Сообщений: 216
Записей в блоге: 1
13.09.2017, 12:47 2
aweso, начало программы на паскале, а не на c++
сейчас сброшу решение
0
0 / 0 / 0
Регистрация: 13.09.2017
Сообщений: 2
13.09.2017, 13:25  [ТС] 3
Спасибо,жду

Добавлено через 33 минуты
вы смогли выполнить задание?
0
86 / 45 / 11
Регистрация: 20.12.2010
Сообщений: 216
Записей в блоге: 1
13.09.2017, 13:29 4
блин, работа отвлекает от твоего задания...

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
#include <fstream>
#include <iostream>
 
unsigned long long nod(unsigned long long a, unsigned long long b){
    while(a != b){
        if (a > b)
            a -= b;
        else
            b -= a;
    }
    return a > b ? b : a;
}
 
int main(int argc, char * argv[]){
    std::string input_path, output_path;
    if (argc == 3){
        input_path = std::string(argv[1]);
        output_path = std::string(argv[2]);
    }
    else{
        std::cout << "Type input file path:";
        std::cin >> input_path;
        std::cout << std::endl;
        std::cout << "Type output file path:";
        std::cin >> output_path;
        std::cout << std::endl;
    }
 
    std::fstream infile(input_path.c_str(), std::ios_base::in);
    if (!infile.is_open())
        return -1;
 
    unsigned long long a,b;
 
    infile >> a >> b;
    infile.close();
 
    std::fstream outfile(output_path.c_str(), std::ios_base::out);
    if (!outfile.is_open())
        return -2;
 
    outfile << nod(a,b);
    outfile.close();
    return 0;
}
Добавлено через 1 минуту
Алгоритм Евклида не работает для отрицательных чисел
так что или оставлять unsigned или убирать и добавлять модуль в сравнение в функции nod
0
13.09.2017, 13:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.09.2017, 13:29
Помогаю со студенческими работами здесь

Найти наибольший общий делитель целых чисел х и у
Наибольший общий делитель целых чисел х и у по величине число, равномерно делит оба х и у. Написать...

Найти наибольший общий делитель трех чисел
заданы 3 числа найти их наибольший общий делитель

Найти наибольший общий делитель двух чисел
Задача &quot;Длинный НОД&quot; Даны два числа. Найти их наибольший общий делитель. Входные данные Вводятся...

Найти наибольший общий делитель двух натуральных чисел
номер 2: Составьте программу определения наибольшего общего делителя двух натуральных чисел.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru