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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2009, 10:48   #1
Mirel
Пользователь
 
Регистрация: 06.05.2009
Сообщений: 12
Лампочка Двумерный массив.

Сформировать двумерный массив F размером 2 x 8 с помощью генератора случайных чисел и вывести элементы массива на экран и в файл. В строке матрицы F, содержащей максимальный элемент, заменить все отрицательные числа нулями (оформить нахождение максимального элемента в виде функции). Вывести на экран и в файл номер этой строки и максимальный элемент.
Mirel вне форума Ответить с цитированием
Старый 18.05.2009, 13:15   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

И что не получается?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.05.2009, 18:21   #3
Mirel
Пользователь
 
Регистрация: 06.05.2009
Сообщений: 12
По умолчанию

Program Project;
Uses crt;
Type mass=array [1..2,1..8] of real;
Func=function (a: mass): real;
Var x,y: integer;
Procedure preobr (max: func; var a: mass);
Var nomer_stroki: integer; maximum: real;
Begin
Maximum:=max (a);
If maximum=a[x,y] then nomer_stroki:=x;
For y:=1 to 8 do
If a[nomer_stroki,y]<0 then a[nomer_stroki,y]:=0;
End;
Function max (b: mass): real; far;
Var x,y: integer; max1: real;
Begin
Max1:=b[1,1];
For x:=1 to 2 do
For y:=1 to 8 do
If b[x,y]>max1 then max1:=b[x,y];
Max:=max1;
End;
Var max_el: real; c: text; f: mass;
Begin
Assign (c,'g:\project.txt');
Rewrite (c);
Clrscr;
Randomize;
For x:=1 to 2 do
For y:=1 to 8 do
F[x,y]:=random*20-10;
For x:=1 to 2 do
Begin
For y:=1 to 8 do
Begin
Write (f[x,y]:7:3);
End;
Writeln;
End;
For x:=1 to 2 do
Begin
For y:=1 to 8 do
Begin
Write (c, f[x,y]:7:3);
End;
Writeln (c);
End;
Max_el:=max (f);
Preobr (max,f);
Writeln ('maximalnii element = ', max_el:6:3, 'v stroke', x);
Writeln (c, 'maximal element =', max_el:6:3);
Writeln (c, 'v stroke', x);
Close (c);
For x:=1 to 2 do
Begin
For y:=1 to 8 do
Begin
Write (f[x,y]:7:3);
End;
Writeln;
End;
Readln;
End.
Mirel вне форума Ответить с цитированием
Старый 18.05.2009, 18:22   #4
Mirel
Пользователь
 
Регистрация: 06.05.2009
Сообщений: 12
Смущение

Программа не меняет все отрицательные числа на \нули\.
Подскажите, как это сделать!!
Mirel вне форума Ответить с цитированием
Старый 18.05.2009, 22:52   #5
Doholyan
Форумчанин
 
Регистрация: 26.04.2009
Сообщений: 270
По умолчанию

Не вижу...где, ты ХОТЬ пытался в программе обьявить , что ты хочеш проверить весь масив на принадлежность отрицательных чисел???
Doholyan вне форума Ответить с цитированием
Старый 18.05.2009, 22:59   #6
Doholyan
Форумчанин
 
Регистрация: 26.04.2009
Сообщений: 270
По умолчанию

If a[nomer_stroki,y]<0 then a[nomer_stroki,y]:=0;
если это ты имел ввиду....то прочитай
как ты "0" прилипил к переменной (а)
и делай раздиление пробелами и пустыми строгами в программе самому будет удобней читать
Doholyan вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двумерный Массив n01R Помощь студентам 9 19.12.2009 16:41
Двумерный массив Veroni4ka Помощь студентам 3 12.05.2009 11:09
Двумерный массив. kGxDD Паскаль, Turbo Pascal, PascalABC.NET 0 15.04.2009 21:43
Двумерный массив Wi1D Помощь студентам 0 10.12.2008 00:29