![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Amro |
![]()
Сообщение
#1
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 146 Пол: Мужской Репутация: ![]() ![]() ![]() |
Люди помогите решить две задачки:
вот условия 1.Составить программу нахождения наибольшего общего делителя четырех натуральных чисел. {Для двух чисел я знаю как искать, а именно применяя метод Евклида, но вот для четырёх чего то до меня не доходит...} 2.Вставить нулевую строку и нулевой столбец перед строкой и столбцом, где находится первый минимальный элемент. {я в общем пробовал её решить, но получается чего-то не то, программа обнуляет не ту строку, а вернее стирает строку с найденным минимальным элементом, а по условию она должна вставлять пустую строку и столбец перед найденным минимальным элементом, а последний сдвигать} в общем вот как я её решаю... Код program 009; uses crt; label lb1; var i,j,n,m,k,l: integer; mas:array[1..50,1..50] of integer; begin clrscr; writeln('Введите размерность массива (число строк n и число столбцов m): '); read(n,m); randomize; write('Данный массив:'); for i:=1 to n do for j:=1 to m do mas[i,j]:=-10+random(40); for i:=1 to n do begin writeln; for j:=1 to m do write(mas[i,j]:5); end; for j:=1 to m do for i:=1 to n do if mas[i,j]<0 then begin k:=j; l:=i; writeln; for j:=k to m do for i:=l to n do mas[l,k]:=mas[i,j]; end; write('Получился массив вида'); for j:=k to m do for i:=l to n do begin mas[i,k]:=0; mas[l,j]:=0; end; for i:=1 to n do for j:=1 to m do begin writeln; for j:=1 to m do write(mas[i,j]:5);end; readkey; end. -------------------- Закон иудеев: Семь раз отмерь, один отрежь.
Закон экономии: Семь раз отмерь, семь раз отрежь. Закон программиста: Семь раз отрежь, ошибся, отмерь. |
![]() ![]() |
trminator |
![]()
Сообщение
#2
|
Четыре квадратика ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 579 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вот моя старая программа, вроде она работала
![]() Код PROGRAM NOD2; var Arr:array[1..10000] of integer; {Можно обойтись и без массива} i,n:integer; function NOD(x,y:integer):integer; {Вычисляет НОД по алг. Евклида} var a,b:integer; begin if x>y then a:=x else a:=y; b:=x+y-a; while b<>0 do begin x:=a mod b; a:=b; b:=x end; NOD:=a end; BEGIN Write('Сколько чисел? '); ReadLn(n); for i:=1 to n do begin Write('Введи ',i,' число: '); ReadLn(Arr[i]) end; for i:=2 to n do Arr[i]:=NOD(Arr[i],Arr[i-1]); WriteLn('=================='); WriteLn('Ответ: НОД этих чисел равен ',Arr[n]);ReadLn END. ЗЫ Что-то все аватарами обзавелись красивыми ;D ЗЗЫ Еще можно глянуть http://pascal.dax.ru/?sources&cat=1, там тоже НОД ищется (не знаю, скольки чисел, правда) -------------------- Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала |
Amro |
![]()
Сообщение
#3
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 146 Пол: Мужской Репутация: ![]() ![]() ![]() |
Нормалёк, программка твоя работает!!!
Вторую бы ещё решить :-/... Огромное человеческое спасибо тебе!!! Аватар на то он и аватар, чтобы быть красивым!!! ;D -------------------- Закон иудеев: Семь раз отмерь, один отрежь.
Закон экономии: Семь раз отмерь, семь раз отрежь. Закон программиста: Семь раз отрежь, ошибся, отмерь. |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 13:54 |