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

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

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

> Двумерные массивы, Поменять столбцы местами
сообщение
Сообщение #1


Пионер
**

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

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


Я, наверное, всем уже надоела со своими задачками, но всё таки спрошу ещё.(Нам их просто задали 30 штук, а я все эти темы проболела unsure.gif )
Есть задача:
Дана матрица размера M*N. Поменять местами столбцы 1 и столбец, содержащий минимальное количество нечетных элементов.
Вот текст программы:

const
m=15;
n=5;
var
a:array[1..m,1..n] of integer;
i,j,f,k:integer;
s,min:longint;

begin
randomize;
for i:=1 to m do
begin
for j:=1 to n do
begin
a[i,j]:=random(51);
write(a[i,j]:3);
end;
writeln;
end;
min:=maxlongint;
for j:=1 to n do
s:=0;
begin
for i:=1 to m do
if a[i,j] mod 2=1 then s:=s+1;
writeln('nechetn ',s);
readln;
if s<min then
begin
f:=j;
min:=s;
end;
end;

writeln('stolbez ',f);
readln;
for i:=1 to m do
begin
for j:=1 to n do
begin
if j=f then
begin
k:=a[i,j];
a[i,j]:=a[i,1];
a[i,1]:=k;
end;
write(a[i,j]:3);
end;
writeln;
end;
readln;
end.



Эта программа не меняет местами столбцы, а только переписывает элементы 1 столбца в столбец с минимальным количеством нечетных элементов. Можете подсказать что нужно доделать?


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


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

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

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


Ты сильно перемудрила в конце. Надо переставить два столбца - так и переставляй ИХ, а не ходи-блуждай по всему массиву.. ))
И не надо совмещать расчеты с выводом! это тебе потом боком выйдет.
Ну, и вообще так, полюбуйся хоть на правильный формат, прежде чем поломаешь снова.. smile.gif
const
m=15;
n=5;
var
a: array[1..m,1..n] of integer;
i,j,f,k: integer;
s,min: longint;

begin
randomize;
for i:=1 to m do begin
for j:=1 to n do begin
a[i,j]:=random(51);
write(a[i,j]:3);
end;
writeln;
end;
min:=maxlongint;
for j:=1 to n do begin
s:=0;
for i:=1 to m do
if Odd(a[i,j]) then s:=s+1;
writeln('nechetn ',s);
if s<min then begin
f:=j;
min:=s;
end;
end;

writeln('stolbez ',f);
for i:=1 to m do begin
k:=a[i,1];
a[i,1]:=a[i,f];
a[i,f]:=k;
end;

for i:=1 to m do begin
for j:=1 to n do write(a[i,j]:3);
writeln;
end;

readln;
end.


Добавлено через 1 мин.
Offtop:
а что значит твой ник? Eichhorn - это имя лошади? щас погуглю.. ))

Добавлено через 2 мин.
Это белка! smile.gif но не совсем.. ))
фамилия от белки. Белкин? smile.gif


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


Пионер
**

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

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


О, спасибо! good.gif А я думала, что a[i,f] нельзя писать... Ладно, иду дальше решать)))

Добавлено через 6 мин.
Цитата(Lapp @ 6.01.2011 19:09) *


Offtop:
а что значит твой ник? Eichhorn - это имя лошади? щас погуглю.. ))

Добавлено через 2 мин.
Это белка! smile.gif но не совсем.. ))
фамилия от белки. Белкин? smile.gif

Просто меня Белкой называют некоторые люди. За любовь к кедровым орехам. И маму у меня Белкой тоже называют. Но у неё ещё с того времени как она в университете училась.


--------------------
Жизнь похожа на собачью упряжку: если не идёшь впереди, то всё время видишь одно и то же...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


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

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

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


Цитата(Eichhorn @ 6.01.2011 16:15) *
А я думала, что a[i,f] нельзя писать...
Небольшой совет: если не знаешь, можно писать или нельзя - пробуй. Это же не неприоичное слово на заборе.. smile.gif

Цитата
Просто меня Белкой называют некоторые люди. За любовь к кедровым орехам. И маму у меня Белкой тоже называют. Но у неё ещё с того времени как она в университете училась.
Спасибо! +1


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

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

 





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