С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Sebelia
1 / 1 / 0
Регистрация: 02.11.2012
Сообщений: 47
1

Двумерные массивы. Поменять местами последний столбец и столбец с минимальным элементом.

08.01.2013, 13:41. Просмотров 437. Ответов 6
Метки нет (Все метки)

Дана матрица размера NxN.Поменять местами последний столбец и столбец с минимальным элементом.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2013, 13:41
Ответы с готовыми решениями:

Поменять местами столбец с максимальным элементом и первый столбец массива
ввести двухмерный массив 3*5. Поменять местами столбец с максимальным элементом...

Поменять местами столбец с максимальным элементом и первый столбец матрицы
ввести двухмерный массив 3*5.Поменять местами столбец с максимальным элементом...

Столбец матрицы с максимальным элементом поменять местами со столбцом с нулевым элементом
Как столбец с максимальным элементом поменять местами со столбцом с нулевым...

Двумерные массивы. Найти столбец с минимальным элеметом и заменить его нулями
Сделать ввод-вывод массива(ручной) это я могу. Найти столбец и минимальным...

Поменять местами первый и последний столбец матрицы
Напишите программу которая меняет местами первый и последний столбец...

6
ViktorNMax
54 / 54 / 41
Регистрация: 20.12.2012
Сообщений: 256
08.01.2013, 14:58 2
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
program new;
const n=4;
type ar=array[1..n,1..n] of integer;
var arr:ar;
 buf,i,j,stolb:integer;
begin
 randomize;
 for i:=1 to n do begin
  for j:=1 to n do begin
   arr[i,j]:=random(100);
   write(arr[i,j],' ');
  end;
  writeln;
 end;
 buf:=arr[1,1];
 stolb:=1;
 for i:=1 to n do
  for j:=1 to n do
   if arr[j,i]<buf then begin
    buf:=arr[j,i];
    stolb:=i;
   end;
 for i:=1 to n do begin
  buf:=arr[i,stolb];
  arr[i,stolb]:=arr[i,n];
  arr[i,n]:=buf;
 end;
 writeln;
 for i:=1 to n do begin
  for j:=1 to n do begin
   write(arr[i,j],' ');
  end;
  writeln;
 end;
 while true do readln;
 
end.
Так?
0
Новичок
Модератор
1514 / 983 / 465
Регистрация: 17.07.2012
Сообщений: 4,988
Завершенные тесты: 3
08.01.2013, 15:15 3
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
program mat;
uses Crt;
var a:array[1..10,1..10]of Integer;
i,j,n,mini,minj,k:integer;
begin
repeat
ClrScr;
Write('Введите порядок квадратной матрицы,n=');
Readln(n);
until (n>0) and (n<=100);
Writeln('Введите значения элементов матрицы:');
for i:=1 to n do
for j:=1 to n do Read(a[i,j]);
Writeln('Введенная матрица:');
for i:=1 to n do
begin
for j:=1 to n do Write(a[i,j]:4);
Writeln;
end;
mini:=1;
minj:=1;
for i:=1 to n do
for j:=1 to n do 
if a[i,j]<a[mini,minj] then 
begin
mini:=i;
minj:=j;
end;
for i:=1 to n do
begin
k:=a[i,minj];
a[i,minj]:=a[i,n];
a[i,n]:=k;
end;
Writeln('Полученная матрица:');
for i:=1 to n do
begin
for j:=1 to n do Write(a[i,j]:4);
Writeln;
end;
Readln;
end.
Добавлено через 1 минуту
Цитата Сообщение от ViktorNMax Посмотреть сообщение
while true do readln;
Простите,а для чего эта строка?
0
ViktorNMax
54 / 54 / 41
Регистрация: 20.12.2012
Сообщений: 256
08.01.2013, 16:02 4
Цитата Сообщение от Андрей_Новичок Посмотреть сообщение
Добавлено через 1 минуту

Простите,а для чего эта строка?
Ну - можно и просто readln; если не поняли..

Добавлено через 1 минуту
Цитата Сообщение от Андрей_Новичок Посмотреть сообщение
var a:array[1..10,1..10]of Integer;
Почему 10x10 - если указано nxn??
0
Новичок
Модератор
1514 / 983 / 465
Регистрация: 17.07.2012
Сообщений: 4,988
Завершенные тесты: 3
08.01.2013, 18:18 5
Цитата Сообщение от ViktorNMax Посмотреть сообщение
Почему 10x10 - если указано nxn??
Простите,не 10х10 я хотел написать 100х100,чтобы размер указывался пользователем от 1 до 100.
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
program mat;
uses Crt;
var a:array[1..100,1..100]of Integer;
i,j,n,mini,minj,k:integer;
begin
repeat
ClrScr;
Write('Введите порядок квадратной матрицы,n=');
Readln(n);
until (n>0) and (n<=100);
Writeln('Введите значения элементов матрицы:');
for i:=1 to n do
for j:=1 to n do Read(a[i,j]);
Writeln('Введенная матрица:');
for i:=1 to n do
begin
for j:=1 to n do Write(a[i,j]:4);
Writeln;
end;
mini:=1;
minj:=1;
for i:=1 to n do
for j:=1 to n do 
if a[i,j]<a[mini,minj] then 
begin
mini:=i;
minj:=j;
end;
for i:=1 to n do
begin
k:=a[i,minj];
a[i,minj]:=a[i,n];
a[i,n]:=k;
end;
Writeln('Полученная матрица:');
for i:=1 to n do
begin
for j:=1 to n do Write(a[i,j]:4);
Writeln;
end;
Readln;
end.
Добавлено через 52 секунды
Т.е пользователь вводит сам размер матрицы от 1 до 100.
0
ViktorNMax
54 / 54 / 41
Регистрация: 20.12.2012
Сообщений: 256
08.01.2013, 18:19 6
Вообще - не указывалось каким образом вводятся данные, поетому мое решение и твое - верное!!!
0
Новичок
Модератор
1514 / 983 / 465
Регистрация: 17.07.2012
Сообщений: 4,988
Завершенные тесты: 3
08.01.2013, 19:08 7
Действительно.Просто я так всегда привык организовывать ввод массива.
0
08.01.2013, 19:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2013, 19:08

Поменять в массиве местами первый и последний столбец.
Используя циклы, создайте Паскаль программу для решения задачи. Задан массив ...

Поменять местами первую строку и последний столбец в квадратной матрице
Ребят, помогите, нужно очень срочно. И еще нужна блок-схема. Только надо...

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


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

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

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