IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Ошибка в программе., Нужна ваша помощь.
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 22
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  0  +


Задача: найти наибольший общий делитель целых положительных чисел a, b, c.
p.s. знаю, что решалось, но все же нужна помощь. Работать в Паскале только начал.




Program NOD;
var a, b, c:integer;
begin
writeln('vvedite 3 chisla');
readln(a, b, c);
repeat if a>b then a:=a mod b
else b:=b mod a
until (a=0) or (b=0);
repeat if c>a then c:=c mod a
until (c=0) or (a=0);
repeat if c>b then c:=c mod b
until (c=0) or (b=0);
writeln('NOD=', a+b+c);
readln;
end.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


поиск
****

Группа: Пользователи
Сообщений: 347
Пол: Мужской
Реальное имя: nir

Репутация: -  2  +


Если хочешь то можешь организовать , наверное, цикл от самого маленьког числа вниз и прверять
подходит ли счетчик на роль делителя или нет.(по остаткам)
Конечно если не хочешь use поиском.
ps
Скорее всего не прокатит но все же.

Сообщение отредактировано: renesko1 -


--------------------
typedef void Śūnyatā ;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


смысл задачи в том, чтобы написать функцию для нахождения НОД 2-х чисел (например так) и использовать ее для 3-х


writeln(GCD(GCD(a, b), c));



--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 22
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  0  +


Кого не затруднит, напишите, полалуйста, как это будет выглядеть?
Вот программа для 2-х чисел:

Program NOD;
var a, b:integer;
begin
writeln('vvedite 2 chisla');
readln(a, b);
repeat if a>b then a:=a mod b
else b:=b mod a
until (a=0) or (b=0);
writeln('NOD=', a+b);
readln;
end.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Учиться, учиться еще раз учиться
***

Группа: Пользователи
Сообщений: 158
Пол: Мужской
Реальное имя: Яшар

Репутация: -  3  +


Цитата
Кого не затруднит, напишите, полалуйста, как это будет выглядеть?

Mеня smile.gif ... Вот тебе программа вычисляющая НОД 3-х чисел lol.gif ...
Program NOD;
var a, b, c:integer;

procedure gcd(var x,y:integer);
begin
repeat
if x>y then x:=x mod y
else y:=y mod x
until (x=0) or (y=0);
end;

begin
writeln('vvedite 3 chisla'); readln(a, b, c);
gcd(a,b); a:=a+b; b:=c; gcd(a,b);
writeln('NOD=', a+b);
readln;
end.



--------------------
Чтобы поразить цель важна не точность, а смелость
Шарль Луи Монтескё
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 22
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  0  +


Ну вот, смогли же! smile.gif Чем являются x и y в процедуре?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






Переменные на локальном уровне..в этом смысл процедуры
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






Цитата
Переменные на локальном уровне
Может, все-таки параметры-переменные (они же Var-параметры)? Кстати, а в чем смысл:
1) описания a, b, c перед процедурой;
2) использования процедур вместо функций
?

Это чтоб больше написать, и программа солиднее казалась? Вообще-то с функцией (ссылка в третьем посте) решение - в одну строку (решение приведено там же, в посте №3)...
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 27.11.2020 4:40
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name