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

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

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

 
 Ответить  Открыть новую тему 
> НОД(для 4-ёх чисел) + Матрицы
Amro
сообщение 9.01.2004 17:33
Сообщение #1


Пионер
**

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

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


Люди помогите решить две задачки:
вот условия
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.


--------------------
Закон иудеев: Семь раз отмерь, один отрежь.
Закон экономии: Семь раз отмерь, семь раз отрежь.
Закон программиста: Семь раз отрежь, ошибся, отмерь.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
trminator
сообщение 9.01.2004 17:39
Сообщение #2


Четыре квадратика
****

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

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


Вот моя старая программа, вроде она работала smile.gif
Код

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, там тоже НОД ищется (не знаю, скольки чисел, правда)


--------------------
Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Amro
сообщение 9.01.2004 19:52
Сообщение #3


Пионер
**

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

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


Нормалёк, программка твоя работает!!!
Вторую бы ещё решить :-/...
Огромное человеческое спасибо тебе!!!

Аватар на то он и аватар, чтобы быть красивым!!! ;D


--------------------
Закон иудеев: Семь раз отмерь, один отрежь.
Закон экономии: Семь раз отмерь, семь раз отрежь.
Закон программиста: Семь раз отрежь, ошибся, отмерь.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



- Текстовая версия 18.07.2025 17:09
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"