Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 02.03.2016
Сообщений: 60
1

Найти наибольший общий делитель двух натуральных чисел, алгоритм Евклида

09.04.2016, 17:57. Показов 1539. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребята, не могу понять, как сформулировать функцию мейн. Нужно найти наибольший общий делитель двух натуральных чисел
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 #include <stdio.h>
#include <stdlib.h>
#include<locale.h>
int gcd(int a, int b);
int main()
{
    int a, b;
    setlocale(LC_ALL, "rus");
    printf("Введите 2 числа:\n");
    scanf("%d  %d", &a, &b);
    system("pause");
};
int gcd(int a, int b) {
   int c;
   while (b) {
      c = a % b;
      a = b;
      b = c;
   }
   return fabs(a);
 }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.04.2016, 17:57
Ответы с готовыми решениями:

Нужно найти наибольший общий делитель двух чисел использованием алгоритма Евклида
Дано натуральние числа a, b, c. Получить наибольший общий делитель этих чисел. Для определения НОД...

Рекурсия. Вычислить наибольший общий делитель двух натуральных чисел
1) S=a!-cos(a) 2) Вычислить наибольший общий делитель двух натуральных чисел

Составить алгоритм и написать функцию, которая находит наибольший общий делитель натуральных чисел а и б
Составить алгоритм и написать функцию, которая находит наибольший общий делитель натуральных чисел...

Задано n натуральных чисел (n >10) найти наибольший общий делитель
Помогите написать программу, используя подпрограммы: задано n натуральных чисел (n &gt;10) ,найти...

6
737 / 542 / 416
Регистрация: 17.09.2015
Сообщений: 1,601
09.04.2016, 19:10 2
Lindemann Till,
1. у вас в main отсутствует return 0;
2. для чего ; в строке 12?
3. раз уж вы написали функцию gcd то используйте ее в main, например вызовите ее:
C
1
printf("%d\n", gcd(a, b));
2
0 / 0 / 0
Регистрация: 02.03.2016
Сообщений: 60
09.04.2016, 21:28  [ТС] 3
Спасибо большое)))
0
Вездепух
Эксперт CЭксперт С++
11697 / 6376 / 1724
Регистрация: 18.10.2014
Сообщений: 16,080
10.04.2016, 02:52 4
Цитата Сообщение от LFC Посмотреть сообщение
1. у вас в main отсутствует return 0;
Как раз таки именно в main return 0 можно не писать - return 0 получится и так, автоматически.
0
737 / 542 / 416
Регистрация: 17.09.2015
Сообщений: 1,601
10.04.2016, 03:37 5
Lindemann Till, только я подозреваю что ваша функция gcd возвращает вовсе не то для чего задумывалась

Добавлено через 5 минут
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Как раз таки именно в main return 0 можно не писать - return 0 получится и так, автоматически.
меня компилятор каждый раз тычет носом если я забываю return 0;
\main.c|12|warning: control reaches end of non-void function|
0
Вездепух
Эксперт CЭксперт С++
11697 / 6376 / 1724
Регистрация: 18.10.2014
Сообщений: 16,080
10.04.2016, 04:54 6
Цитата Сообщение от LFC Посмотреть сообщение
меня компилятор каждый раз тычет носом если я забываю return 0;
\main.c|12|warning: control reaches end of non-void function|
Именно для main? Тут уже кто-то приводил мне такой же аргумент на такую же тему, а потом попробовал - и не было никакого предупреждения компилятора. Именно в main ничего страшного в отсутствии return 0 нет.

Однако это началось с С99. В С89/90 такое предупреждение было бы уместно. Но в современном компиляторе для этого надо умышленно включить С89/90.
1
737 / 542 / 416
Регистрация: 17.09.2015
Сообщений: 1,601
10.04.2016, 06:32 7
TheCalligrapher, Угу,включил в настройках support all ISO C90 programm - и заработало! а то не давал переменные объявлять в середине кода тоже.
0
10.04.2016, 06:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.04.2016, 06:32
Помогаю со студенческими работами здесь

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

Найти наибольший общий делитель 8 чисел
Добрый вечер. Господа! Я не в состоянии написать программу сам, так как не понимаю как записать это...

Найти наибольший общий делитель трех чисел
Даны два натуральных числа A и B. Требуется найти их наибольший общий делитель (НОД). Входные...

Найти наибольший общий делитель для заданной последовательности чисел
Дано натуральное число n и натуральные числа a1, a2, ..., an. Найти наиболее больший общий делитель...

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

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru