IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
Closed Topic Открыть новую тему 
> задача-менять местами столбцы и строки, матрица размещена в одномерном массиве по строкам...
сообщение
Сообщение #1


изувер
**

Группа: Пользователи
Сообщений: 88
Пол: Женский
Реальное имя: ann

Репутация: -  1  +


задача-матрица размещена в одномерном массиве по строкам.поменять местами k-ый и 1ый столбцы матрицы (к и 1 заданы). результат напечатать по строкам.
указание-k-ый столбец матрицы расположен в одномерном массиве в элементах с индексами-- ((i-1)*m+k)го,
i=1..n

не могу я записать это так как надо. только месяц еще его изучаем. а я болела. буду признательна в оказанной помощи.(я согласно с правилами смотрела в поиске нет ли похожего,но нашла то что не похоже)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Вот, примерно так:

var
a: array[1..n*m]of tElement;
...
for i:=1 to n do begin
b:=a[(i-1)*m+1];
a[(i-1)*m+1]:=a[(i-1)*m+1];
a[(i-1)*m+k]:=b
end;


P.S.
особо понравилось вот это:
Цитата(кучаТрупов @ 13.12.2008 1:17) *
(к и 1 заданы).
smile.gif)))



--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


изувер
**

Группа: Пользователи
Сообщений: 88
Пол: Женский
Реальное имя: ann

Репутация: -  1  +


я очень благодарна. спасибо огромное.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


изувер
**

Группа: Пользователи
Сообщений: 88
Пол: Женский
Реальное имя: ann

Репутация: -  1  +


program lab_9;

const n=10;k=5;
m=9;
var a:array[1..n*m]of integer;
b,j,t,i: integer;
begin
randomize;
for i:=1 to n*m do begin
a[i]:=random(20)-10;
write(a[i],' '0;
end; writeln;
for i:=1 to n*m do begin
b:=a[(i-1)*m+1]:
a[(i-1)*m+1]:=a[(i-1)*m+1];
a[(i-1)*m+k]:=b;
end;
for i:=1 to n do begin
write(a[i],' ');
end;
readln;
end.

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

Сообщение отредактировано: Lapp -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Цитата
я обессилен.
Я тоже, разбирая твой код... Форматируй его хоть немного, ничего ж не понять... Ты не путай строки со столбцами, главное... У тебя N = 10 - это число столбцов, а M = 9 - число строк... Тогда программа выглядит так:

program lab_9;

const
n = 10;
m = 9;

k = 5;

var
a: array[1 .. n*m] of integer;
b, j, t, i: integer;

begin
randomize;
for i := 1 to n*m do begin
a[i]:=random(20)-10;
write(a[i]:4);
if i mod n = 0 then writeln;
end;
writeln;

for i:=1 to m do begin
b:=a[(i-1)*n+1];
a[(i-1)*n+1]:=a[(i-1)*n+k];
a[(i-1)*n+k]:=b;
end;

for i:=1 to n*m do begin
write(a[i]:4);
if i mod n = 0 then writeln;
end;
readln;
end.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


изувер
**

Группа: Пользователи
Сообщений: 88
Пол: Женский
Реальное имя: ann

Репутация: -  1  +


^^
я стараться буду форматировать.
а н и м по условию с клавиатуры вводятся. ну в любом случае все верно будет при любых н и м.я думаю.

if i mod n = 0 then writeln;
end;
^
||
вот этой штуки мне очень не хватало))спасибо)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






Дан двухмерный массив (1..3,1..3) поменять местами строку и столбец проходящие через максимальный элемент.
 К началу страницы 
+ Ответить 

Closed Topic Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 21:10
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name