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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.01.2015, 09:18   #1
I am Russia
Новичок
Джуниор
 
Регистрация: 20.01.2015
Сообщений: 6
Восклицание Составьте в среде TPascal код программы, реализующей метод простых перестановок

Дан двумерный массив элементов. Необходимо найти максимальный элемент этого массива и его индексы.
ВОТ чвсть его.
Код:
Max := X[1, 1]; {Предположим, что максимумом является первый элемент}
Maxi := 1; {в этом случае запомним первую строку}
Maxj := 1; {и первый столбец}
for i := 1 to n do
for j := 1 to m do
        if X[i, j] > Max then {если среди элементов массива нашелся больший элемент, то}
          begin
              Max := X[i, j];{внесем новое найденное значение в переменную Мах}
              Maxi := i; {и не забудем запомнить индексы строки}
              Maxj := j; {и столбца этого элемента}
           end;
end;
end;

Последний раз редактировалось Stilet; 21.01.2015 в 10:30.
I am Russia вне форума Ответить с цитированием
Старый 21.01.2015, 09:38   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

и ?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 21.01.2015, 09:46   #3
I am Russia
Новичок
Джуниор
 
Регистрация: 20.01.2015
Сообщений: 6
По умолчанию

помогите дописать программу

помогите дописать программу

Последний раз редактировалось Stilet; 21.01.2015 в 10:31.
I am Russia вне форума Ответить с цитированием
Старый 21.01.2015, 09:53   #4
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
помогите дописать программу
какую программу?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 21.01.2015, 10:52   #5
I am Russia
Новичок
Джуниор
 
Регистрация: 20.01.2015
Сообщений: 6
По умолчанию

понял.попробую обьяснить так как я понял задание.дан листинг,мне нужно запустить его в паскале,при проверки работы выдает что Maxi неверное выражение и нет такой переменной.не могу разобраться.непойму.незнаю.пытался неполучается.подскажите в чем моя ошибка.
I am Russia вне форума Ответить с цитированием
Старый 21.01.2015, 11:37   #6
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
понял.попробую обьяснить так как я понял задание.дан листинг,мне нужно запустить его в паскале,при проверки работы выдает что Maxi неверное выражение и нет такой переменной.не могу разобраться.непойму.незнаю.пытался неполучается.подскажите в чем моя ошибка.
покажи оригинал задания (скан или фото) и скриншоты попыток
Цитата:
запустить его в паскале
а то знаю я вас – надо одно, а прсите ваще противоположное.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 21.01.2015, 11:46   #7
I am Russia
Новичок
Джуниор
 
Регистрация: 20.01.2015
Сообщений: 6
По умолчанию

Разберем задачу 1. Дан двумерный массив элементов. Необходимо найти максимальный элемент этого массива и его индексы.
Так как элементы могут повторяться, то договоримся, что будем запоминать в программе только индексы первого максимального элемента. Опишем код, который будет выполнять поставленную задачу:
Код:
Max := X[1, 1]; {Предположим, что максимумом является первый элемент}
Maxi := 1; {в этом случае запомним первую строку}
Maxj := 1; {и первый столбец}
for i := 1 to n do
for j := 1 to m do
        if X[i, j] > Max then {если среди элементов массива нашелся больший элемент, то}
          begin
              Max := X[i, j];{внесем новое найденное значение в переменную Мах}
              Maxi := i; {и не забудем запомнить индексы строки}
              Maxj := j; {и столбца этого элемента}
           end;
end;
end;
На выходе получаем в переменной Мах значение максимального элемента в массиве, в переменной i – индекс, принадлежащий строке этого элемента, в переменной j – индекс его столбца.
Разберем следующую задачу (2). Дан двумерный массив элементов. Необходимо найти количество неотрицательных и отрицательных элементов в этом массиве. Ноль будем считать положительным числом.
Эта задача может быть решена таким образом, как показано в листинге 1.
Листинг 1.
Код:
Program m2;
Const n = 3; m = 2;
Var 
  x: array[1..n,1..m] of Integer;
  Max, i, j, otr, pol: Integer;
Begin
  {---заполнение массива с клавиатуры---}
  for i := 1 to n do
    for j := 1 to m do begin
      write('Введите элемент массива (', i, ',', j, ') = ');
      readln(x[i,j]);
    end;
  {---обработка массива---}
  otr := 0; {присвоим начальные значения}
  pol := 0; {присвоим начальные значения} 
  for i := 1 to n do {начало цикла обработки двумерного массива}
    for j := 1 to m do
      if X[i, j] >= 0 then {если среди элементов массива нашелся положительный элемент, то}
        begin
            pol := pol + 1;
        end else begin {иначе (если среди элементов массива нашелся не положительный элемент)}
            otr := otr + 1;
        end;
   {---вывод результатов---}
   WriteLn('Kolichestvo polozhitel`nyh elementov = ', pol);
   WriteLn('Kolichestvo otritzatel`nyh elementov = ', otr);
end.
Практическое задание

1. Запустите среду TPascal 7.0 / 7.1, и, используя информацию в теоретической части инструкционной карты выполните остальные пункты задания.
2. Составьте программу по задаче 1 из теоретической части работы.
3. Решите задачу:
Дан двумерный массив целых чисел. Необходимо в этом массиве найти элемент, соответствующий заданному с клавиатуры числу. Если такой элемент имеется в массиве – вывести его индексы, если такого нет – вывести соответствующее сообщение.
4. Решите задачу:
Дан двумерный массив целых чисел. Необходимо в этом массиве найти среднее арифметическое значение элементов с нечетными индексами.

и еще вопросы пожалуйста.

1. Объясните принцип работы алгоритма, находящего максимальный элемент побочной диагонали квадратной матрицы?
2. Как поменять местами n и m строки двумерного массива с одинаковым количеством строк и столбцов?
3. Как поменять местами R1 и R2 столбцы двумерного массива с одинаковым количеством строк и столбцов?

Последний раз редактировалось Stilet; 21.01.2015 в 12:25.
I am Russia вне форума Ответить с цитированием
Старый 21.01.2015, 11:52   #8
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

скриншоты где?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Составьте в среде TPascal код программы, реализующей метод простых перестановок I am Russia Паскаль, Turbo Pascal, PascalABC.NET 2 20.01.2015 11:43
Проблема с реализацией метода простых вертикальных перестановок sector666 Помощь студентам 0 17.04.2014 16:16
Реализовать код программы в среде программирования borland с++. Vanchool Помощь студентам 0 25.02.2012 17:19
создание программы в VBA, реализующей алгоритм получения произведения ряда чисел Mescaline Помощь студентам 0 23.12.2011 23:16
Разработка программы, реализующей 3D преобразования mixmon Фриланс 12 08.06.2009 08:01