Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 24.12.2012
Сообщений: 4
1

Двумерный массив: поиск наименьшего положительного элемента, элементы массива образуют арифметические прогрессии

28.12.2012, 18:32. Просмотров 1346. Ответов 1
Метки нет (Все метки)

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

Неправильный результат поиска наименьшего положительного элемента массива
Добрый день Не могу разобраться в чем ошибка. Задача: Даны вещественные массивы А, F. Для...

Цикл: нахождение наименьшего положительного элемента массива [masm32]
Вечер добрый. Ассемблер только начали изучать...линейные проги ещё ладно,решаемо... но вот на...

Найти номер и значение наименьшего положительного нечётного элемента массива
Помогите написать программу на Си Найти номер и значение наименьшего положительного нечётного...

Вывести на экран произведение наименьшего по модулю отрицательного и наименьшего положительного элемента
Организовать ввод последовательности из N чисел и получить и вывести на экран произведение...

__________________
1
durila :d
125 / 107 / 98
Регистрация: 21.12.2012
Сообщений: 160
29.12.2012, 06:00 2
Лучший ответ Сообщение было отмечено galina1480 как решение

Решение

Здравствуйте. Вот вариант решения
(компилировался в PascalABC.net)

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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
program _matrix;
 
const
 
 N = 5;
 M = 5;
 
type 
 
 TArray = Array [1..N,1..M] of integer;
 
var
 
 Matrix         :TArray;
 i,j            :integer;
 min            :integer;
 
procedure FillMatrix(var Matrix:TArray;hand:boolean);
{процедура заполнения матрицы
 если hand = TRUE - вручную
             FALSE - случайные значения   }
 var
  
  i,j:integer;
 
 function RandomInt(X1,X2:integer):integer;
 {Функция возвращает случайное целое
 значение из диапазона X1..X2                 }
  var
   x:integer;
  begin
   repeat
    x:=random(Abs(X2));
    if odd(random(2))
    then x:=-x;
   until (x>=X1)and(x<=x2);
   RandomInt:=x;
 end;
 
begin
 if hand then begin
               for i:=1 to N do
               for j:=1 to M do begin
                                 write('[',i,',',j,']: ');
                                 readln(matrix[i,j]);
                                end
              end else begin
                        for i:=1 to N do
                        for j:=1 to M do matrix[i,j]:=RandomInt(-100,100);
                       end;
end;
 
procedure OutMatrix(head:string;const Matrix:Tarray);
 { процедура вывода матрицы на экран }
 var
 
  i,j:integer;
begin
 Writeln(head);
 for i:=1 to N do begin
 for j:=1 to M do write(Matrix[i,j]:5,' ');
                  writeln();
                  end;
end;   
 
function CheckLine(const Matrix:TArray;line:integer):boolean;
{возвращает TRUE если строка матрицы яв-ся арифметической прогрессией}
 var
  i,d         :integer;
  b_res       :boolean;
begin
 d:=Matrix[line,2]-Matrix[line,1];
 b_res:=TRUE;
 for i:=1 to M-1 do                   
 if Matrix[line,i+1]<>Matrix[line,1]+d*(i) then begin
                                                     b_res:=FALSE;
                                                     break
                                                    end;
 if b_res then CheckLine:=TRUE
          else CheckLine:=FALSE;
end;
 
function findmin(Matrix:TArray;line:integer;var curr_min:integer):integer;
{функция находит минимальный положительный элемент в строке 
 сравнивает с cur_min и возвращает наименьший из них       }
 var
  i         :integer;
  min       :integer;
begin
 findmin:=curr_min;
 min:=0;
 for i:=1 to M do 
 if Matrix[line,i]>0 then begin
                           if min=0 then min:=Matrix[line,i];
                           if   min > matrix[line,i] 
                           then min:=matrix[line,i];
                          end;
 if min > 0  then 
                  if curr_min=0   then findmin:=min
                                  else
                  if min<curr_min then findmin:=min;
end;
 
BEGIN
 
{fill & print matrix}
 randomize;
 FillMatrix(Matrix,TRUE); {TRUE - если вручную}
 OutMatrix('Сформирована матрица: ',Matrix);
 
{ process. & print }
 min:=0;
 for i:=1 to N do
 if CheckLine(Matrix,i) then min:=Findmin(Matrix,i,min);
 writeln(min);
 if min>0 then write('min: ',min);
END.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.12.2012, 06:00

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

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

Двумерный массив: арифметические действия с элементами, поиск элементов с заданными свойствами
помогите пожалуйста написать программу для нахождения (массив риал 9х9 значения вводятся в массив с...

Поиск наименьшего элемента массива
#include&lt;iostream.h&gt; #include&lt;conio.h&gt; const n=5; char StrBuf; int i; int poshyk(int a, int...

Поиск наименьшего элемента в массиве элементы которого вводятся с клавиатуры
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;stdbool.h&gt; #include &lt;math.h&gt; #include...

Вставить после первого положительного элемента массива X, элементы массива Z
Привет всем) помогите решить легенький массив....я хз как). Даны одномерные массивы X и Z ....

Поиск индекса наименьшего элемента одномерного массива
Найти и напечатать индекс наименьшего элемента одномерного массива Р размерности М. Из разных...


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

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

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