Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

про двумерный массив

38K
16 декабря 2008 года
Almost456
21 / / 30.11.2008
Помогите разобраться с заданием.Не понимаю как решать надо...
[ATTACH]3255[/ATTACH]
397
16 декабря 2008 года
SergPas
527 / / 03.02.2007
Цитата:
Не понимаю как решать надо...


Обычная матрица, среди элементов заштрихованной части находишь минимальный и максимальный элемент, которые местами и меняешь... Заштрихованная часть представляет из себя треугольную матрицу, ограниченную снизу побочной диагональю... Ещё остались вопросы?

38K
16 декабря 2008 года
Almost456
21 / / 30.11.2008
Да есть вопросы.
после нахождения этих max и min ,мне надо max элемент заменить на существующие элементы в заштрихованной части матрицы,а min элемент за пределы штриха?
397
16 декабря 2008 года
SergPas
527 / / 03.02.2007
Цитата:
после нахождения этих max и min ,мне надо max элемент заменить на существующие элементы в заштрихованной части матрицы,а min элемент за пределы штриха?


Ну нет же... Во всей заштрихованной части ищешь 2 элемента: минимальный и максимальный, а потом на место минимального элемента записываешь максимальный, и наоборот: на место максимального - минимальный. Меняешь местами только 2 элемента, так следует из задания...

38K
16 декабря 2008 года
Almost456
21 / / 30.11.2008
теперь понял...Спасибо
38K
16 декабря 2008 года
Almost456
21 / / 30.11.2008
SergPas А сможешь помочь найти ошибку?
Код:
program matrix;
uses crt;
var matrica:array[1..10,1..10] of integer;
max:integer;
min:integer;
i,j:integer;
begin
ClrScr;
write('введите матрицу');
for j:=1 to 10 do
for i:=1 to 10 do
begin
gotoxy(3+i*4,3+j*2);
readln(matrica[i,j]);
end;
for i:=1 to 10 do
for j:=1 to 11-i do
if matrica[i,j]>max then
begin
max:=matrica[i,j];
end;
for i:=1 to 10 do
for j:=1 to 11-i do
if matrica[i,j]<min then
begin
min:=matrica[i,j];
end;
for i:=1 to 10 do
for j:=1 to 11-i do
if matrica[i,j]<>0 then begin
max:=min;
min:=max;
end;
for i:=1 to 10 do
begin
for j:=1 to 10 do
write(matrica[j,i]:4);
writeln;
end;
readkey;
end.
397
17 декабря 2008 года
SergPas
527 / / 03.02.2007
Цитата:
SergPas А сможешь помочь найти ошибку?

Писать самому в лом... Есть кое какие поправки... Мне, например, в лом набирать 100 чисел... Сгенерируй массив посредством random и randomize... Это первый момент... Второй, вот это что такое:

 
Код:
for i:=1 to 10 do
for j:=1 to 11-i do
if matrica[i,j]<>0 then begin
max:=min;
min:=max;
end;
Где сохраняешь индексы минимального и максимального элементов? Где меняешь их местами?
Опять задание не понял... Ты в исходном массиве должен поменять местами минимальный и максимальный элементы. В массиве!!! А затем уже вывести исправленный массив!
Исправляй...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог