Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 03.11.2013
Сообщений: 22
1

Небольшая программа на функцию

23.11.2013, 23:45. Просмотров 1147. Ответов 1
Метки нет (Все метки)

Вот само задание:
В действительной квадратной матрице NXN найти самый большой элемент среди тех, что находятся на главной и побочных диагоналях и поменять его местам с элементом который находится на пересечении диагоналей.

Ну проблем с задать вывести матрицу конечно нету.
Поясню своими словами что бы точнее, перебрать нужно как то все элементы обоих диагоналей и найти самый большой, и это нужно сделать с помощью функции, с этим у меня и проблема. Потом уже через процедуру поменять местами с элементом пересечения.
Ну и матрица должна быть понятное дело не четного порядка что бы пересечение было, с этим тоже разберусь, вопрос в основном в том как эту функцию записать.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.11.2013, 23:45
Ответы с готовыми решениями:

Небольшая программа
Здравствуйте,помогите пожалуйста решить следующею задачу:Подпрограмма в указанном столбце 2х...

небольшая программа (геометрия)
Добрый вечер, пожалуйста помогите написать новичку (студент 1го курса) код, и разобраться в нем с...

Нужна небольшая программа на c++)
Вычислить площади треугольников, вписывающихся в полуокружность, через каждые 18 градусов (L=18)....

Небольшая программа на матрицу
Небольшую прогу задали на практике яеё никак невдуплю! вот условие В представленной матрицы 3 на...

1
Модератор
7920 / 3974 / 2788
Регистрация: 17.08.2012
Сообщений: 12,684
24.11.2013, 22:45 2
Лучший ответ Сообщение было отмечено Entore как решение

Решение

Функция Ваша должна возвращать два значения: координаты максимального элемента. В этом, что ль, неувязочка? Или как пробежаться по диагоналям, неясно? Вот, написал, разбирайтесь.
Кликните здесь для просмотра всего текста
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
program arrxy;
 
const n = 5;
 
type coord = record
     x, y: integer
     end;
 
     arr = array [1..n, 1..n] of real;
 
var i, j: integer;
    imax: coord;
    a: arr;
 
function maxx(var c: arr):coord;
var k: integer;
    max: real;
begin
  maxx.x := 1;
  maxx.y := 1;
  max := c[1, 1];
  for k := 1 to n do
    begin
      if c[k, k] > max
        then
          begin
            max := c[k, k];
            maxx.x := k;
            maxx.y := k
          end;
      if c[k, n - k + 1] > max
        then
          begin
            max := c[k, n - k + 1];
            maxx.x := k;
            maxx.y := n - k + 1
          end
    end
end;
 
procedure swap(x, y: integer);
var buf: real;
begin
  buf := a[n div 2 + 1, n div 2 + 1];
  a[n div 2 + 1, n div 2 + 1] := a[x, y];
  a[x, y] := buf;
end;
 
begin
  randomize;
  writeln('Array:');
  for j := 1 to n do
    begin
      for i := 1 to n do
        begin
          a[i, j] := random * 2000 - 1000;
          write(a[i, j]:8:2)
        end;
      writeln
    end;
  imax := maxx(a);
  writeln('max = a[', imax.x, ', ', imax.y, '] = ', a[imax.x, imax.y]:8:2);
  swap(imax.x, imax.y);
  writeln('Result array:');
  for j := 1 to n do
    begin
      for i := 1 to n do write(a[i, j]:8:2);
      writeln
    end;
  readln
end.
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.11.2013, 22:45

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Небольшая программа на Lazarus
Нужна программа ,внутри которой есть 3 кнопки,в идеале. 1)Start - благодаря которой остальные 2...

Небольшая программа по решению уравнений
Здравствуйте. Недавно начал изучать с++ , опыт в программировании только на паскале. Вот написал...

Небольшая программа по шифрованию сообщений
Ребят, такая ситуация. Задали написать проект - консольная программа на плюсах по шифрованию...

Неправильно работает небольшая программа-калькулятор
это калькулятор фунтов, шиллингов и пенсов по старой системе. он должен уметь складывать, вычитать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.