1 / 1 / 1
Регистрация: 27.12.2012
Сообщений: 14
1

В массиве целых чисел поменять местами строки с наибольшим и наименьшим элементами

27.12.2012, 19:36. Показов 1602. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
7. В массиве целых чисел поменять местами строки с наибольшим и наименьшим элементами.

п.с. спасибо тому кто сделал огромное:*
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.12.2012, 19:36
Ответы с готовыми решениями:

Создать массив 5*6 целых чисел из диапазона [-5;10] . Поменять в массиве местами строки с максимальными и минимальными элементами
Создать массив 5*6 целых чисел из диапазона . Поменять в массиве местами строки с максимальными...

Паскаль.В матрице а(3х5) поменять местами элементы с наибольшим и наименьшим значением
В матрице а(3х5) поменять местами элементы с наибольшим и наименьшим значением.

Составить программу, содержащую подпрограмму, которая в целочисленной матрице переставляет местами строки с наименьшим и наибольшим элементами
В программировании я полный ноль. В паскале дальше циклов не заходил да и то их не понял толком. А...

В двух матрицах поменять местами строки, содержащие элемент с наибольшим и наименьшим значением
в данных действительных матрицах n*m и k*l поменять местами строку , содержащую элемент с...

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

Решение

Здравствуйте, вот вариант решения:

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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
program _array;
 
const
 
 N  = 5;
 M  = 5;
 
    
type
 
  TArray = array [1..N,1..M] of integer;
  TLine  = array [1..M] of integer;
  
  TIndex = record
   i  : integer;
   j  : integer;
  end;
  
var
 
  Matrix : TArray;
 
 
procedure FillMatrix(var a_Matrix:TArray;rnd:boolean;lb,rb:integer);
{    процедура заполнения матрицы из диапазона [lb,rb]
rnd = TRUE - случайными значениями ; rnd = FALSE - вручную}
 var
  i,j,k : byte;
 function RandomInt(left,right:integer):integer;
 {возвращает случайное целое число из диапазонa (left,right)                                                    }
  var
   x    : integer;
   sign : 0..1;
 begin 
  if left<right then 
  begin
   if right <= 0  then repeat
                         x:=-Random(Abs(left));
                       until x<=right  
                  else repeat 
                        x:=Random(right);
                        sign:=random(2);
                        if sign>0 then x:=-x;
                       until (x>=left) and (x<=right);
   RandomInt:=x;
  end else RandomInt:=0;
 end; 
begin
 case rnd of 
    FALSE:begin
           for i:=1 to N do 
           for j:=1 to M do begin
                            repeat
                             write('[',i,',',j,'] (',lb,'..',rb,'): ');
                             readln(k);
                            until (k>lb)and(k<rb);
                            end;
          end;
    TRUE:begin
          for i:=1 to N do
          for j:=1 to M do a_Matrix[i,j]:=RandomInt(lb,rb);
         end;
 end;
end;
 
procedure PrintMatrix(const a_Matrix:TArray);
{     процедура вывода матрицы на экран      
                                              }
 var
  i,j : byte;
begin
 writeln;
 for i:=1 to N do begin
 for j:=1 to M do write(a_Matrix[i,j]:5,' ');
                  writeln;
                  end;
 writeln;
end;
 
Function GetMinIndex(const Matrix:Tarray):Tindex;
{ функция возвращает индекс минимального элемента матрицы}
 var
  
  i,j:integer;
  min:integer;
  imin:TIndex;
  
begin
 imin.i:=1;imin.j:=1;
 min:=Matrix[1,1];
 for i:=1 to N do 
 for j:=1 to M do 
 if min > Matrix[i,j] then begin
                            min:=Matrix[i,j];
                            imin.i:=i;
                            imin.j:=j;
                           end;
 GetMinIndex:=imin;                           
end;
 
Function GetMaxIndex(const Matrix:Tarray):Tindex;
{ функция возвращает индекс максимального элемента матрицы}
 var
  
  i,j:integer;
  max:integer;
  imax:TIndex;
  
begin
 imax.i:=1;imax.j:=1;
 max:=Matrix[1,1];
 for i:=1 to N do 
 for j:=1 to M do 
 if max < Matrix[i,j] then begin
                            max:=Matrix[i,j];
                            imax.i:=i;
                            imax.j:=j;
                           end;
 GetMaxIndex:=imax;                           
end;
 
procedure SwapLines(var a_Matrix:TArray;line1,line2:integer);
{меняет местами строки матрицы }
 var
  i    : integer;
  temp : TLine;
  
begin
 for i:=1 to M do temp[i]:=a_Matrix[line1,i];
 for i:=1 to M do a_Matrix[line1,i]:=a_Matrix[line2,i];
 for i:=1 to M do a_Matrix[line2,i]:=temp[i];
end;
 
BEGIN
{ fill & print matrix }
 randomize;
 FillMatrix(Matrix,true,-100,100); {false - если вручную}
 Writeln('исходная матрица: ');
 PrintMatrix(Matrix);
 
{process & output }
 SwapLines(Matrix,GetMinIndex(Matrix).i,GetMaxIndex(Matrix).i);
 Writeln('Полученная матрица: ');
 PrintMatrix(Matrix);
END.
(компилировался в PascalABC.net)
0
30.12.2012, 03:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.12.2012, 03:23
Помогаю со студенческими работами здесь

Поменять местами строки текста с наибольшим и наименьшим весом (вес-сумма ASCII-кодов символов)
uses crt; var a : array of string; i,n,x, sum : integer; begin clrscr; write('введите...

В массиве поменять местами строки с максимальным и минимальным элементами
Здравствуйте помогите! Решите, пожалуйста программу, но сделайте все по простому, якобы это сделал...

В массиве из 30 целых чисел найти наименьший элемент и поменять местами с последним
в массиве из 30 целых чисел найти наименьший элемент и поменять местами с последним.

Ввести массив а[1], а [2].а[n] целых чисел.Поменять в нем местами соседние элементы, стоящие на четных местах, с элементами, стоящими на нечетных
Ввести массив а, а , .... а целых чисел. Поменять в нем местами соседние элементы, стоящие на...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru