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

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

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

 
 Ответить  Открыть новую тему 
> Массив, Перестановка в обратном порядке элементов строки...
Студентка
сообщение 5.06.2008 7:31
Сообщение #1


Гость






Люди....помогите!!!

Сижу над задачей дней пять уже, а результата всего два:
1.Либо не правильно считает.
2.Либо зацикливается.

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

Заранее спасибо! smile.gif
 К началу страницы 
+ Ответить 
Client
сообщение 5.06.2008 7:50
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

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


Покажи код, будем разбираться smile.gif

Сообщение отредактировано: Client - 5.06.2008 7:50
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Гость
сообщение 5.06.2008 8:30
Сообщение #3


Гость






uses crt;
type mas=array[1..10,1..10] of integer;
var
i,j,n,min:integer;
a:mas;
begin
clrscr;
write('Vvedite razmernost matrici:');
readln(n);
for i:=1 to n do
begin
for j:=1 to n do
begin
write('a[',i,',',j,']=');
readln(a[i,j]);
end;
end;
min:=a[1,1];
for i:=1 to n do
begin
for j:=1 to n do
begin
if a[i,j]<min then min:=a[i,j];
end;
end;

Это вот до перестановки...а дальше у меня полная попа smile.gif . Я думаю дальше надо, чтобы элемент сравнивался с минимумом и если он ему равен, перепечатывал строку в обратном порядке, а если нет - то печатал старый элемент. Вот ток как это сделать я не понимаю...пробовала цикл, но у меня он у меня где-то видать клинил и печатал элементы без остановки. Приходилось перезапускать все.
 К началу страницы 
+ Ответить 
Client
сообщение 5.06.2008 19:44
Сообщение #4


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

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


uses crt;
type mas=array[1..10,1..10] of integer;
var
i,j,n,min,k,l:integer;
a:mas;
begin
clrscr;
write('Vvedite razmernost matrici:');
readln(n);
for i:=1 to n do
for j:=1 to n do begin
write('a[',i,',',j,']=');
readln(a[i,j]);
end;
min:=1;
for i:=1 to n do
for j:=1 to n do
if a[i,j]<min then
min:=a[i,j];
for i:=1 to n do begin
j:=1;
while j<=n do begin
if a[i,j]=min then begin
for k:=1 to n div 2 do begin
l:=a[i,k];
a[i,k]:=a[i,n-k+1];
a[i,n-k+1]:=l;
j:=n
end
end;
inc(j)
end;
end;
for i:=1 to n do begin
writeln;
for j:=1 to n do write(a[i,j]:6)
end;
readkey
end.

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


Гость






Работает!!! Спасибо!

Я только один момент не могу понять. Вот в этой строке:

for k:=1 to n div 2 do begin - что сдесь "div 2" делает....всмысле как это работает?
 К началу страницы 
+ Ответить 
Client
сообщение 5.06.2008 20:49
Сообщение #6


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

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


Здесь меняются местами первый с последним, второй с предпоследним и т.д.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Гость
сообщение 5.06.2008 20:57
Сообщение #7


Гость






О как...спасибо еще раз! smile.gif
 К началу страницы 
+ Ответить 

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

 



- Текстовая версия 12.08.2025 5:02
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"