Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 23.03.2009, 18:16   #11
коржик1
 
Регистрация: 23.03.2009
Сообщений: 7
По умолчанию

ой, спасибо, огромное! а подскажите, как сделать, чтобы программа при запуске каждый раз новую матрицу формировала?
коржик1 вне форума
Старый 23.03.2009, 18:18   #12
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Почитайте про randomize
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума
Старый 23.03.2009, 18:19   #13
коржик1
 
Регистрация: 23.03.2009
Сообщений: 7
По умолчанию

огромное спасибо! а как сделать так, чтобы при запуске проги, каждый раз формировалась новая матрица?
коржик1 вне форума
Старый 23.03.2009, 18:41   #14
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Просто вначале программы вставьте оператор Randomize;
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума
Старый 23.03.2009, 20:51   #15
коржик1
 
Регистрация: 23.03.2009
Сообщений: 7
По умолчанию

Сформировать матрицу М вещественного типа в диапазоне [-3.0, 5.0].
Определить min и max элементы матрицы.
Поменять местами строки содержащие min и max элементы. Если оба они находятся в одной строке, то поменять местами столбцы.
Вывести исходную и полученную матрицы, max и min.
и нужно с помощью процедур и функций все делать

program cursovaia;
type MATR=ARRAY[1..6,1..6] of real;
var
x:matr;
i,j:integer;


procedure form(k,k1:integer;var x:matr);
var
i,j,N:integer;
begin
for i:=1 to 6 do
for j:=1 to 6 do
x[i,j]:=random*k-k1;
end;


procedure vivod(x:matr);
var
i,j:integer;
begin
for i:=1 to 6 do
begin
for j:=1 to 6 do
write(x[i,j]:6:2,' ');
writeln;
end;
end;

begin
form(6,6,x);
vivod(x);
readln;
end.

for i:=1 to mas_size do
for j:=1 to mas_size1 do
mas[i,j]:=random(8)-3;

min:=mas[1,1];
for i:=1 to mas_size do
for j:=1 to mas_size1 do
if mas[i,j]<min then begin min:=mas[i,j]; index1:=i;
indexj1:=i end;

max:=mas[1,1];
for i:=1 to mas_size do
for j:=1 to mas_size1 do
if mas[i,j]>max then begin max:=mas[i,j]; index2:=i;
indexj2:=i end;

if indexj=index2 then
for i:=1 to mas_size do
for j:=1 to mas_size1 do
begin
temp:=mas[ indexj1];
mas[ indexj1]:=mas[ indexj2]
mas[ indexj2]:=temp;
end;

дальше я окончательно запуталась, и не знаю как оформить все с помощью процедур и функций(((
коржик1 вне форума
Старый 24.03.2009, 01:18   #16
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Немного подправил.

Код:
program cursovaia;
uses crt;
const n=6;
type MATR=ARRAY[1..n,1..n] of real;
var  x:matr;
     maxi,maxj,mini,minj,i,j:integer;


procedure form(var x:matr);
var i,j:integer;
begin
for i:=1 to n do
for j:=1 to n do
x[i,j]:=(random(801)-300)/100;
end;


procedure vivod(x:matr);
var
i,j:integer;
begin
for i:=1 to n do
begin
for j:=1 to n do
write(x[i,j]:6:2,' ');
writeln;
end;
end;

procedure FindMax(x:matr;var a,b:integer);
begin
a:=1;b:=1;
for i:=1 to n do
 for j:=1 to n do
  if x[i,j]>x[a,b] then begin
                          a:=i;
                          b:=j;
                        end;
 
end;

procedure FindMin(x:matr;var a,b:integer);
begin
a:=1;b:=1;
for i:=1 to n do
 for j:=1 to n do
  if x[i,j]<x[a,b] then begin
                          a:=i;
                          b:=j;
                        end;

end;

function Change(a,b,c,d:integer):matr;
var q:Matr;
    temp:real;
begin
q:=x;
if a<>c then begin
        for i:=1 to n do
         begin
           temp:=q[a,i];
           q[a,i]:=q[c,i];
           q[c,i]:=temp;
         end;
       end
   else begin
         for i:=1 to n do
         begin
           temp:=q[i,b];
           q[i,b]:=q[i,d];
           q[i,d]:=temp;
         end;
        end;
Change:=q;
end;


begin
clrscr;
form(x);
vivod(x);
writeln('================================');
FindMax(x,maxi,maxj);
writeln('Max:',x[maxi,maxj]:6:2);
FindMin(x,mini,minj);
writeln('Min:',x[mini,minj]:6:2);
x:=Change(maxi,maxj,mini,minj);
vivod(x);
readln;
end.
Будут вопросы - задавайте, но только постепенно
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума
Старый 24.03.2009, 09:30   #17
коржик1
 
Регистрация: 23.03.2009
Сообщений: 7
По умолчанию

а у меня программа не работает((
коржик1 вне форума
Старый 24.03.2009, 10:15   #18
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Одна тема - один автор. Закрываю.
I'm learning to live...
Stilet вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите в Паскале написать программу, пожалуйста. Saaashka Помощь студентам 5 20.04.2010 19:02
Помогите написать программу в Паскале Saaashka Помощь студентам 1 11.06.2008 11:30
помогите написать программу в паскале death Помощь студентам 3 22.10.2007 10:05
Найти отношения суммы элементов главной диагонали и суммы элементов побочной диагонали квадратной матрицы Elmander Помощь студентам 2 21.06.2007 07:15
помогите написать программу. ZixiT Общие вопросы Delphi 7 22.11.2006 11:05