if min > a[i, i] then //если тек. элемент больше минмльного
min := a[i, i]; //то делаем его минимальным
//если несколько максимальных, то замени все
for i := 1 to n do //перебераем строки
begin
a[i,i] := min;
a[i, n-i+1]:=min;
end;
end;
var
a: matrix;
n, m: integer;
xn, xk, mx, mn: real;
b: arrayB;
begin
//ввод разномернос с проверкой
assign(Ftext,'result.txt');
Rewrite (Ftext);
repeat
write('Введите число в диапазоне от 5 до 15: ');
readln(n);
until (n >= 5) and (n <= 15);
write('Введите x начальное: ');
readln(xn);
write('Введите x конечное: ');
readln(xk);
a := CreateMatrix(n, xn, xk);//создаем матрицу
writeln('Исходная матрица: ');
writeln(Ftext,'Исходная матрица: ');
PrintMatrix(a, n); //печатаем ее
writeln('Измененный массив: ');
writeln(Ftext,'Измененный массив: ');
SwapMatrix(a,n);
PrintMatrix(a, n);
writeln('Массив B: ');
writeln(Ftext,'Массив B: ');
b := CreateArray(a, n, m);
PrintArray(b, m);
writeln('Массив B отсоритрованный по возростанию: ');
writeln(Ftext,'Массив B отсоритрованный по возростанию: ');
SortArray(b,m,true);
PrintArray(b, m);
writeln('Массив B отсоритрованный по убыванию: ');
writeln(Ftext,'Массив B отсоритрованный по убыванию: ');
SortArray(b,m,false);
PrintArray(b, m);
MinMaxMatrix(a,n,mn,mx);
writeln('Максимальный элемент: ',mx:0:3);
writeln('Минимальный элемент: ',mn:0:3);
writeln(Ftext,'Максимальный элемент: ',mx:0:3);
writeln(Ftext,'Минимальный элемент: ',mn:0:3);
close(Ftext);
end.
OCTAGRAM
23.06.2020 16:30
В MinMaxMatrix в момент, когда найден новый минимум/максимум, не только значение сохраняется, но строка/столбец, в котором оно было
dregar55
24.06.2020 13:12
Цитата(OCTAGRAM @ 23.06.2020 16:30)
В MinMaxMatrix в момент, когда найден новый минимум/максимум, не только значение сохраняется, но строка/столбец, в котором оно было
слушай, хорошо понял тебя про мин и макс, а вот траекторию поменять по картинке, но тут я так понимаю по маленьким стрелочкам (Красная фотография моя.) (Зеленая которая в коде.) мне вот надо на мою поменять картинку (траекторию движения )
OCTAGRAM
24.06.2020 16:00
В PrintMatrixColor общая схема работы уже задана. Надо только заменить ту часть, что тестирует в if координаты и выставляет цвета.
На рисунке несколько треугольников, можете их все в if перебрать, если не знаете, как проще
dregar55
24.06.2020 20:53
Цитата(OCTAGRAM @ 24.06.2020 16:00)
В PrintMatrixColor общая схема работы уже задана. Надо только заменить ту часть, что тестирует в if координаты и выставляет цвета.
На рисунке несколько треугольников, можете их все в if перебрать, если не знаете, как проще
Блин чет вообще не понял как (( если тебе несложно помоги с кодом, я просто вижу что ты прям шаришь в этом, а мне надо просто сделать, что бы не отчислили. Специальность у меня вообще другая, не знаю зачем вообще на это говорят делать(
OCTAGRAM
24.06.2020 21:58
h и h2, как я посмотрю, разбивают матрицу так, что это примерно пополам, и h+h2=n, h<=h2
Если в if сравниваются i и j, возможно, с разностью от h или h2, такое условие верно на какой-то диагональной линии и по какую-то сторону от неё. Если только i или только j сравниваются с 1, h, h2 или n, это задаёт вертикальную или горизонтальную линию с полуплоскостью в какой-то стороне от неё.
Треугольник можно задать как общее подмножество трёх полуплоскостей, то есть, в условии три сравнения через and. Но если не рассчитать, полуплоскость не в ту сторону развернуть, в итоге есть риск получить пустое множество, и не понятно, что не так. Можете начинать красить полуплоскости, добавляя условия, чтоб становились треугольники.
Ещё на картинке видно, как некоторые треугольники прижаты к углу. Там естественным ограничителем выступают два из четырёх тождеств i >= 1, j >= 1, i <= n, j <= n, такой треугольник можно задать одним сравнением.
Правильно сделают, что отчислят. Какую работу можно поручить человеку, который не в состоянии справиться с ТАКИМ?
dregar55
25.06.2020 0:14
Цитата(OCTAGRAM @ 24.06.2020 21:58)
h и h2, как я посмотрю, разбивают матрицу так, что это примерно пополам, и h+h2=n, h<=h2
Если в if сравниваются i и j, возможно, с разностью от h или h2, такое условие верно на какой-то диагональной линии и по какую-то сторону от неё. Если только i или только j сравниваются с 1, h, h2 или n, это задаёт вертикальную или горизонтальную линию с полуплоскостью в какой-то стороне от неё.
Треугольник можно задать как общее подмножество трёх полуплоскостей, то есть, в условии три сравнения через and. Но если не рассчитать, полуплоскость не в ту сторону развернуть, в итоге есть риск получить пустое множество, и не понятно, что не так. Можете начинать красить полуплоскости, добавляя условия, чтоб становились треугольники.
Ещё на картинке видно, как некоторые треугольники прижаты к углу. Там естественным ограничителем выступают два из четырёх тождеств i >= 1, j >= 1, i <= n, j <= n, такой треугольник можно задать одним сравнением.
Правильно сделают, что отчислят. Какую работу можно поручить человеку, который не в состоянии справиться с ТАКИМ?
Я заочник мне нахер это не надо, я работаю и времени нет это делать. А учусь я не на программиста, я не должен знать этот паскаль и мне он не нужен.
OCTAGRAM
25.06.2020 4:40
Ну знаете, я тоже не на очном учился и не по специальности, и мне так ещё и не пригодились ни сопромат, ни обработка сигналов, ни материаловедение, и тоже работал на полный день, что не помешало закончить с отличием и ещё язык иностранный по чуть-чуть начать учить. Не серьёзно. Не нашли понимания такие слова. На собеседовании так поговорите, очень вдохновляет.
Если учитесь, то должны. Если не должны, то не учитесь. Вот так очень просто всё понять
Я как обладатель диплома не заинтересован в его девальвации; и как плательщик налогов не заинтересован, чтоб они выбрасывались на тех, кому не надо.
Проблемы у вас не с Паскалём, а ещё, похоже, со школьной программой, с алгебраической геометрией. И с мотивацией. Не задалось с алгемом, можно было опытным путём уже всяко-разно попробовать покрасить матрицу, приближая результат к желаемому. Это не Паскаль, это школа жизни, не с одного, так с другого края подойти к проблеме.
dregar55
25.06.2020 9:16
Цитата(OCTAGRAM @ 25.06.2020 4:40)
Ну знаете, я тоже не на очном учился и не по специальности, и мне так ещё и не пригодились ни сопромат, ни обработка сигналов, ни материаловедение, и тоже работал на полный день, что не помешало закончить с отличием и ещё язык иностранный по чуть-чуть начать учить. Не серьёзно. Не нашли понимания такие слова. На собеседовании так поговорите, очень вдохновляет.
Если учитесь, то должны. Если не должны, то не учитесь. Вот так очень просто всё понять
Я как обладатель диплома не заинтересован в его девальвации; и как плательщик налогов не заинтересован, чтоб они выбрасывались на тех, кому не надо.
Проблемы у вас не с Паскалём, а ещё, похоже, со школьной программой, с алгебраической геометрией. И с мотивацией. Не задалось с алгемом, можно было опытным путём уже всяко-разно попробовать покрасить матрицу, приближая результат к желаемому. Это не Паскаль, это школа жизни, не с одного, так с другого края подойти к проблеме.
Ладно, вы правы, пошел делать.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.