Новые сообщения · Правила  
  • Страница 1 из 1
  • 1
Модератор форума: Berestovskiy  
Форум ПРОГРАММИСТОВ » ПРОГРАММИРОВАНИЕ » Паскаль » Помощь в составлении программы (Найти наибольший чётный положительный элемент выше главной д)
Помощь в составлении программы
Здравствуйте.Преподаватель сказал, что в программе есть какие-то мелкие недочёты. Сколько не искал не могу найти что неправильно. Помогите сделать программу.
Здание изначально было такое.
Дан двумерный массив. Найти наибольший чётный положительный элемент выше главной диагонали и наименьший отрицательный элемент ниже главной диагонали с указанием их индексов. Создать новый массив, в котором найденные элементы поменяются местами.

Требования преподавателя - числа задаются не рандомно , сделать так чтобы можно было вводить размерность массива( количество строк,столбцов))

Заранее спасибо за помощь!

23
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
72
73
74
75
76
77
78
79
80
program mass; 
const m = 16; 
var n, i, j, ia, ja, ib, jb, t: integer;    a: array [1..m, 1..m] of integer;    fa, fb: boolean; 
begin  repeat    write('n = ');    readln(n);    if (n < 2) or (n > m) then writeln('n out of range 2..', m, ', reenter.')  until (n >= 2) and (n <= m);  writeln('Enter array:');  for j := 1 to n do    for i := 1 to n do      begin        write('a[', i, ', ', j, '] = ');        readln(a[i, j])      end;  fa := false;  fb := false;  writeln('Source array:');  for j := 1 to n do    begin      for i := 1 to n do        begin          write(a[i, j]:6);          if (i > j) and not(odd(a[i, j])) and (a[i, j] >= 0)            then if fa              then begin                if (a[i, j] > a[ia, ja])                  then begin                    ia := i;                    ja := j                  end              end              else begin                ia := i;                ja := j;                fa := true;              end;          if (i < j) and (a[i, j] < 0)            then if fb              then begin                if (a[i, j] < a[ib, jb])                  then begin                    ib := i;                    jb := j                  end              end              else begin                ib := i;                jb := j;                fb := true              end        end;      writeln    end;  write('Max even positive element above principal diagonal: ');  if fa then writeln('a[', ia, ', ', ja, '] = ', a[ia, ja])        else writeln('not found.');  write('Min negative element below principal diagonal: ');  if fb then writeln('a[', ib, ', ', jb, '] = ', a[ib, jb])        else writeln('not found.');  if fa and fb    then begin      t := a[ia, ja];      a[ia, ja] := a[ib, jb];      a[ib, jb] := t;      writeln('Result:');      for j := 1 to n do        begin        for i := 1 to n do write(a[i, j]:6);        writeln      end    end    else writeln('No change.');end.
1 | Автор: Миша228 | 2014-03-19, 22:16   |  Репутация: [ + 0 ]
1 | Автор: Миша228 | 2014-03-19, 22:16   |  Репутация: [ + 0 ]
издеваешься?

Нужна помощь? Сюда: vkontakte.ru/berestovskiy
2 | Автор: Berestovskiy | 2014-03-25, 21:05   |  Репутация: [ + 211 ]
Форум ПРОГРАММИСТОВ » ПРОГРАММИРОВАНИЕ » Паскаль » Помощь в составлении программы (Найти наибольший чётный положительный элемент выше главной д)
  • Страница 1 из 1
  • 1
Поиск: