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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.03.2013, 11:21   #1
MAKS-I
 
Регистрация: 11.02.2013
Сообщений: 3
По умолчанию Количество компонент матрицы совпадающих по абсолютному значению с максимумом

Ребята помогите найти: 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.

__________
на форуме нет (к сожалению) тега [PASCAL],
есть общий тег [CODE] ...

Модератор

Последний раз редактировалось Serge_Bliznykov; 09.03.2013 в 12:13.
MAKS-I вне форума Ответить с цитированием
Старый 09.03.2013, 12:22   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

так подойдёт?
Код:
  writeln;
  imax := 1;
  jmax := 1;
  max := m[imax, jmax];
  for i := 1 to N do
    for j := 1 to k do
      if max < m[i, j] then
      begin
        max := m[i, j];
        imax := i;
        jmax := j;
      end;
  writeln('Максимальное значение: max=', max: 5);
  writeln('Индекс max ',imax,' ',jmax);

  Count := 0; {счётчик элементов, совпдающих с максимальным по модулю 
                  - изначально равен нулю}
  for i := 1 to n do
    for j := 1 to k do
      if abs(m[i, j]) = abs(max) then Inc(Count);
  writeln('Количество совпадающих по абсолютной величине элементов с max: ', Count);
p.s. убрал у Вас при поиске максимального значения поиск по модулю (абсолютной величине), ибо не увидел в задании, что максимальное значение нужно искать по его абсолютной величине! Это совпадающие числа нужно по модулю сравнивать!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.03.2013, 12:58   #3
MAKS-I
 
Регистрация: 11.02.2013
Сообщений: 3
По умолчанию

Спасибо огромное! А по поводу второго вопроса не подскажешь?
MAKS-I вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти количество элементов стоящих после максимального по значению элемента RealUnited Паскаль, Turbo Pascal, PascalABC.NET 3 05.12.2012 20:07
Необходимо выяснить сколько студентов группы имеют средний балл, наименее всего отклоняющийся по абсолютному значению от среднего natik3 Помощь студентам 2 05.04.2012 23:24
Ввести последовательность строк. Подсчитать количество совпадающих строк. на языке SHELL lj23lj Фриланс 1 30.03.2012 16:41
Создание директории если количество файлов равно значению artemavd Общие вопросы Delphi 9 25.11.2010 15:38
Определить максимальное по абсолютному значению число VeseloffS Помощь студентам 17 09.06.2009 23:39