С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
 Аватар для Acid Ulcer
1 / 1 / 0
Регистрация: 07.10.2009
Сообщений: 44

Поменять элементы K-го столбца на элементы i-ой строки

07.10.2009, 21:31. Показов 1525. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Поменять элементы K-го столбца на элементы i-ой строки, следующим образом:
_________k____
A11 A12 A13 A14
A21 A22 A23 A24 i
A31 A32 A33 A34
A41 A42 A43 A44

Должно получиться в итоге:

A11 A12 A24 A14
A43 A33 A23 A13
A31 A32 A22 A34
A41 A42 A21 A44
Заранее спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.10.2009, 21:31
Ответы с готовыми решениями:

Поменять элементы K-го столбца на элементы i-ой строки
Поменять элементы K-го столбца на элементы i-ой строки, следующим образом: _________k____ A11 A12 A13 A14 A21 A22 A23 A24 i A31...

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

Найти max элементы 1-го столбца и к строки матрицы А(20*10), и поменять их местами
Помогите ребят, вообще беда с програмированием. Найти max элементы 1-го столбца и к строки матрицы А(20*10), и поменять их местами

14
 Аватар для Acid Ulcer
1 / 1 / 0
Регистрация: 07.10.2009
Сообщений: 44
08.10.2009, 11:49  [ТС]
Что никто не поможет!!!
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
08.10.2009, 11:55
Acid Ulcer, Что-то не для всех случаев получается, например для i=1, k=2 при n=4. Там просто транспонированием не сделать, нужна перестановка, не смог придумать. Для случаев, когда i+k>n, или i=k, все просто.
0
 Аватар для Acid Ulcer
1 / 1 / 0
Регистрация: 07.10.2009
Сообщений: 44
08.10.2009, 12:03  [ТС]
Мне вот и нужна перестановка! Вот же задают, мы в колледже написать её уже 5-ю пару написать не можем, а училка не подсказывает. Надо просто столбец поменять на строку.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
08.10.2009, 12:05
Надо просто столбец поменять на строку.
А вот ты просто на бумажке поменяй первую строку и второй столбец, чтоб в итоге какая-то логика была. Мне расскажешь. Может условие неполное.
0
 Аватар для Acid Ulcer
1 / 1 / 0
Регистрация: 07.10.2009
Сообщений: 44
08.10.2009, 12:17  [ТС]
Условие полное.
0
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
08.10.2009, 12:24
как делать перестановку если будет первая или последняя строка или первый или последний столбец, то есть если у нас вот так
Code
1
2
3
4
    k
1 2 3
4 5 6 i 
7 8 9
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
08.10.2009, 12:32
а использовать еще один массив можно или нет
Да какая разница? В приведенном мной примере строка=1, столбец=2, я не вижу куда ставить элемент 1,2. Если просто поменять, он исчезает.

Добавлено через 5 минут
Вот сделал для случаев когда i+k>n как на примере(i=2, k=3) и когда i=k. А для (i<>k)and(i+k<=n) не получается.
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
uses crt;
var
a:array[1..20,1..20] of integer;
m,n,i,j,k,l,x,p:integer;
Begin
clrscr;
write('Размер матрицы n=');
readln(n);
writeln('Исходная матрица:');
for l:=1 to n do
 begin
  for j:=1 to n do
   begin
    a[l,j]:=10*l+j;
    write(a[l,j]:4);
   end;
  writeln;
 end;
repeat
writeln('Введите номер строки и номер столбца для обмена:');;
readln(i,k);
until(i in [1..n])and(k in [1..n]);
if i+k>n then
for j:=1 to n do
 begin
  x:=a[i,j];
  a[i,j]:=a[n-j+1,k];
  a[n-j+1,k]:=x;
 end
else if i=k then
for j:=1 to n do
if(j<>i)and(j<>k)then
 begin
  x:=a[i,j];
  a[i,j]:=a[j,k];
  a[j,k]:=x;
 end;
writeln('Результат перестановки:');
for l:=1 to n do
 begin
  for j:=1 to n do
  write(a[l,j]:4);
  writeln;
 end;
readln
end.
0
 Аватар для Acid Ulcer
1 / 1 / 0
Регистрация: 07.10.2009
Сообщений: 44
08.10.2009, 13:02  [ТС]
Спасибо. Этот код подойдёт. Эти условия не были оговорены, так что...
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
08.10.2009, 13:17
Этот код не пойдет, если ввести например i=1, k=2. В этом случае программа не известно что выдаст, поскольку такое условие не прописано.
0
 Аватар для Acid Ulcer
1 / 1 / 0
Регистрация: 07.10.2009
Сообщений: 44
08.10.2009, 13:20  [ТС]
мммда..
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
08.10.2009, 14:17
мммда..
Ну так Вы изобразите как будет выглядеть матрица после обмена первой строки и второго столбца, я подумаю как написать. Если же Вы сами этого не знаете, то мы-то тут при чем, это же Ваша задача.
0
 Аватар для Acid Ulcer
1 / 1 / 0
Регистрация: 07.10.2009
Сообщений: 44
08.10.2009, 17:49  [ТС]
Чёт не получается. Элемент, который находится по середине затирается, нужна как минимум вторая строка.
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
09.10.2009, 20:23
Вот, придумал. Сегодня еще одна задача на эту тему окончательно добила.
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
uses crt;
var
a:array[1..20,1..20] of integer;
m,n,i,j,k,l,x,p1,p2:integer;
Begin
clrscr;
write('Размер матрицы n=');
readln(n);
writeln('Исходная матрица:');
for l:=1 to n do
 begin
  for j:=1 to n do
   begin
    a[l,j]:=10*l+j;
    write(a[l,j]:4);
   end;
  writeln;
 end;
repeat
writeln('Введите номер строки и номер столбца для обмена:');;
readln(i,k);
until(i in [1..n])and(k in [1..n]);
p1:=a[i,k];{запомним на пересечении}
p2:=a[k,k];{запомним в столбцедиагональный элемент}
for j:=1 to n do
 begin
  x:=a[i,j];
  a[i,j]:=a[j,k];{обмениваем все элементы}
  a[j,k]:=x;
 end;
a[i,k]:=p1;{на пересечение возвращаем родной}
a[i,i]:=p2;{диагональный в столбце на диагональ строки}
writeln('Результат перестановки:');
for l:=1 to n do
 begin
  for j:=1 to n do
  write(a[l,j]:4);
  writeln;
 end;
readln
end.
2
 Аватар для Acid Ulcer
1 / 1 / 0
Регистрация: 07.10.2009
Сообщений: 44
12.10.2009, 14:04  [ТС]
спасибо за программку!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.10.2009, 14:04
Помогаю со студенческими работами здесь

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

Поменять местами элементы из первой строки с элементами из последнего столбца
Создать двумерный массив из (N x N), сохранить результаты вычислений и их переменные (неизвестные) в файле, решить следующие условия: ...

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

В матрице А(4-строки,3-столбца) поменять местами наибольшие элементы в первом и третьем столбцах
В матрице А(4-строки,3-столбца) поменять местами наибольшие элемен- ты в первом и третьем столбцах.

Поменять местами элементы строки и столбца, на пересечени которых находится максимальный элемент
Люди, помогите, если нетрудно, вот аттестационный пример, без него пропаду: Дан массив A. Найти максимальный элемент среди элементов,...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru