50 / 50 / 39
Регистрация: 06.12.2011
Сообщений: 237
1

Как поменять местами два столбца двухмерного массива?

31.03.2012, 10:21. Показов 1887. Ответов 3
Метки нет (Все метки)

Помогите доделать программу. Из вложенного файла осталось только сделать 3 последний задания... первые 4 получилось, а с остальными напряги.

Модули сам умею делать, мне главное алгоритм нахождения 5, 6 и 7 номера.



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
program modul;
uses crt;
const n=4;
var
a:array[1..n,1..n] of integer;
i,j,min,d,max,max2,min2,min3,max3,max4,min4:integer;
{Ввод и вывод массива}
procedure vvod;
begin
randomize;
for i:=1 to n do begin
for j:=1 to n do begin
a[i,j]:=random(30)-15;
end; end;
 
{Исходный массив}
for i:=1 to n do begin
writeln;
for j:=1 to n do begin
write(a[i,j]:4);
end;
end;
readln
end;
begin
clrscr;
      vvod;
{Находим минимум каждого столбца массива}
for j:=1 to n do
begin
 min:=32764;
  for i:=1 to n do
   begin
     if a[i,j]<min then begin
     min:=a[i,j];
     end;
     end;
     d:=d+1;
  writeln('МИнимум ',d,' столбца*=',min);
          end;
     readln;
     d:=0;
     {Теперь находим максимум каждого столбца*}
for j:=1 to n do
begin
 max:=-30;
  for i:=1 to n do
   begin
 
     if a[i,j]>max then begin
     max:=a[i,j];
     end;
     end;
      d:=d+1;
  writeln('МАксимум',d,' столбца*=',max);
          end;
     readln;
     {Находим максимум каждой строки}
     d:=0;
     for i:=1 to n do
begin
 max2:=-16;
  for j:=1 to n do
   begin
 
     if a[i,j]>max2 then begin
     max2:=a[i,j];
     end;
     end;
      d:=d+1;
  writeln('Максимум',d,' строки = ',max2);
          end;
     readln;
        {Находим минимум каждой строки}
     d:=0;
     for i:=1 to n do
begin
 min2:=100;
  for j:=1 to n do
   begin
 
     if a[i,j]<min2 then begin
     min2:=a[i,j];
     end;
     end;
      d:=d+1;
  writeln('Минимум ',d,' строки = ',min2);
          end;
     readln;
     clrscr;
     vvod;
     {Находим минимум побочной диагонали}
 
     min3:=a[1,n];
     for i:=1 to n do
 
     if min3>a[i,n-i+1] then begin
     min3:=a[i,n-i+1];
     end;
  writeln('Минимум побочной диагонали = ',min3);
readln;
{Максимум побочной диагонали}
 
     max3:=a[i,i];
     for i:=1 to n do
 
     if a[i,n-i+1]>max3 then
     max3:=a[i,n-i+1];
  writeln('Максимум побочной диагонали= ',max3);
readln;
{Максимум главной диагонали}
max4:=a[i,i];
for i:=1 to n do
if max4<a[i,i] then begin max4:=a[i,i];
end;
Writeln('Максимум главной диагонали равно ',max4);
readln;
{Минимум главной диагонали }
min4:=a[i,i];
for i:=1 to n do
if min4>a[i,i] then begin min4:=a[i,i];
end;
Writeln('Минимум главной диагонали равно',min4);
readln
end.
Миниатюры
Как поменять местами два столбца двухмерного массива?  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.03.2012, 10:21
Ответы с готовыми решениями:

Поменять местами два средних столбца матрицы
Поменять местами два средних столбца, если кол-во столбцов четное, и первый со средним стобцом,...

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

Поменять местами два столбца матрицы с заданными номерами
Я написал программу ,но сомневаюсь . КАк понял нужно сделать ввод с клавы какие столбцы поменять...

В каждой из матриц: A (5 строк, 4 столбца) и В (4 строки, 3 столбца) поменять местами два столбца
В каждой из матриц: A (5 строк, 4 столбца) и В (4 строки, 3 столбца) поменять местами два столбца:...

3
Почетный модератор
64275 / 47574 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
31.03.2012, 11:08 2
Поменять 2 столбца с номерами k,p
Pascal
1
2
3
4
5
6
7
var i,x:integer;
for i:=1 to n do
 begin
  x:=a[i,k];
  a[i,k]:=a[i,p];
  a[i,p]:=x;
 end;
2
любитель покушать
686 / 640 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
31.03.2012, 11:09 3
Pacan1,
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
uses crt;
var
a: array[1..10,1..10] of integer;
i,j,buf,n1,n2: integer;
 
begin
write('Введите номера столбцов которые хотите поменять : ');
read(n1);
read(n2);
 
write('Исходная матрица:');
writeln;
for i:=1 to 10 do begin
for j:=1 to 10 do begin
a[i,j]:=random(10);
write(a[i,j]:4);
end;
writeln;
end;
 
for i:=1 to 10 do begin
buf:=a[i,n1];
a[i,n1]:=a[i,n2];
a[i,n2]:=buf;
end;
 
writeln('Полученная матрица:');
for i:=1 to 10 do begin
for j:=1 to 10 do begin
write(a[i,j]:4);
end;
writeln;
end;
end.
вот пример замены столбцов
2
50 / 50 / 39
Регистрация: 06.12.2011
Сообщений: 237
31.03.2012, 11:49  [ТС] 4
Спасибо Вам!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.03.2012, 11:49
Помогаю со студенческими работами здесь

В матрице поменять местами два столбца с заданными номерами
учусь на заочке а задали задачу по Поскалю немогу решить помогите пожалуйста вот задача а) В...

Поменять местами два средних столбца двумерного массива
Добрый день, написала программу но кнопка не реагирует вообще Дан двумерный массив размером n*m,...

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

Поменять местами последние и первые строки двухмерного массива
Можно это реализовать в консольном приложении?


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

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

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