Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Количество компонент матрицы совпадающих по абсолютному значению с максимумом (http://forum.oszone.net/showthread.php?t=255758)

MAKS-I 07-03-2013 20:34 2106417

Количество компонент матрицы совпадающих по абсолютному значению с максимумом
 
Ребята помогите найти: 1. Количество компонент матрицы совпадающих по абсолютному значению с максимумом
2. Записать в одномерный массив значения:-1, если сумма индексов максимальной по абсолютному значению компоненты матрицы m[n,k] является нечетным числом, и 1-если четным числом.
Код:

Program zadanie;
 Uses crt;
 const
digits=1;
 Type matrix = Array [1..10, 1..10] of real;
 massiv = Array [1..10] of Integer;
 Var m: matrix;
  max:real;
 v: massiv;
 imax,n, k, i, j, a, b,p1, p2, min,imin,s,t: Integer;
 Begin
 Write ('Введите количество строк матрицы n');
 WriteLN (' не менее 2 и не более 10');
 ReadLN (n);
 If (n<2) Or (n>10) Then
 Begin
 Write ('Вы ввели неправильное количество строк меньше 2 или');
 Write (' больше 10, поэтому принят');
 WriteLN (' максимальный размер, т.е. n=10');
 n:=10;
 End;
 Write ('Введите количество столбцов матрицы k');
 WriteLN (' не менее 2 и не более 10');
 ReadLN (k);
 If (k<2) Or (k>10) Then
 Begin
 Write ('Вы ввели неправильное количество столбцов меньше 2 или');
 Write (' больше 10, поэтому принят');
 WriteLN (' максимальный размер, т.е. k=10');
 k:=10;
 End;
 Write ('Введите левую а и правую b границы диапазона');
 WriteLN (' значений компонент матрицы');
 Write ('a='); ReadLN (a);
 Write ('b='); ReadLN (b);
 If a>b Then
 Begin
 p1:=a; a:=b; b:=p1;
 End;
 If a=b Then
 Begin
 p1:=0; p2:=b;
 End
 Else If b=0 Then
 Begin
 p1:=a; p2:=0;
 End
 Else
 Begin
 p1:=b-a; p2:=a;
 End;
 Randomize;
 s:=0;
 For j:=1 To k Do
 For i:=1 To n Do
 Begin
  m[i,j]:=p2+random(p1+1);
  End;
  begin
 For i:=1 To n Do
 Begin
 For j:=1 To k Do Write (m[i,j]:6:digits);
 WriteLN;
 End;
  writeln;
    imax:=1;
    max:=m[i,j];
    for i:=1 to N do
    for j:=1 to k do
    if max<abs(m[i,j]) then
    begin
    max:=abs(m[i,j]);
    imax:=i;
    imax:=j;
    end;
    writeln('Максимальное абсолютное значение: max=',max:5:digits);
    write('Индекс max ');
    For i:=1 to n do
    For j:=1 to k do
  If abs(m[i,j])=max Then
  Write('[',i,';',j,']');
    end;
 end.



Время: 19:41.

Время: 19:41.
© OSzone.net 2001-