![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Аделина |
![]() ![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Женский Репутация: ![]() ![]() ![]() |
Здрям^ки!
![]() Не могу понять почему не идет программа. Нужно определить min элемент главной диагонали, и поменять местами max элемент с a[1,3] , ещё вывести строку где находится min. :low: Код program primer_3; uses crt; var i,j,min,k,max,n,m,p:word; a:array[1..5] of array[1..5] of word; begin randomize; for j:=1 to 5 do begin for i:=1 to 5 do begin a[i,j]:=random(25); write(a[i,j]:2,' '); end; writeln; end; min:=a[1,1]; max:=a[1,1]; for j:=1 to 5 do begin for i:=1 to 5 do begin if i=j then begin if min>a[i,j] then begin min:=a[i,j]; k:=j; end; if max<a[i,j] then begin max:=a[i,j]; n:=i; m:=j; end; end; end; end; writeln('min=',min,' ','max=',max); for j:=1 to 5 do begin for i:=1 to 5 do begin if j=k then write(a[i,j]:2,' '); end; end; a[3,1]:=p; a[3,1]:=a[n,m]; a[n,m]:=p; for j:=1 to 5 do begin for i:=1 to 5 do begin write(a[i,j]:2,' '); end; writeln; end; writeln; readln; end. -------------------- Лучше ужасный конец, чем ужасы без конца...
|
klem4 |
![]()
Сообщение
#2
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Код uses crt; const n=5; var x:array[1..n,1..n] of integer; i,j,max,min,t:integer; nfind:integer; imax,jmax:integer; Begin clrscr; randomize; for i:=1 to n do begin for j:=1 to n do begin x[i,j]:=random(11); write(x[i,j]:2); write(' '); end; writeln; end; min:=x[1,1]; nfind:=1; for i:=2 to n do if x[i,i]<min then begin min:=x[i,i]; nfind:=i; end; writeln; writeln('nfind=',nfind); max:=x[1,1]; imax:=1; jmax:=1; for i:=1 to n do for j:=1 to n do if x[i,j]>max then begin imax:=i; jmax:=j; max:=x[i,j] end; t:=x[imax,jmax]; x[imax,jmax]:=x[1,3]; x[1,3]:=t; for i:=1 to n do begin for j:=1 to n do begin write(x[i,j]:2); write(' '); end; writeln; end; readln; end. -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Altair |
![]()
Сообщение
#3
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
ребят, вы сошли сума? Почему такие большие коды?
p.s. я нарушил правила, и не проверял прогу, если что, считайте, что я просто хотел продемонстрировать алгоритм. ![]() Ввод данных я не стал реализовывать, это элементарно... -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Цитата(Аделина @ 13.02.05 17:39) Нужно определить min элемент главной диагонали, и поменять местами max элемент с a[1,3], ещё вывести строку где находится min. Уточните, пожалуйста: max во всей матрице или max в главной диагонали... |
klem4 |
![]()
Сообщение
#5
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Если во всей матрице то решение мое или Oleg_z'a.
Тока у меня полное а у него выч.часть :P -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Altair |
![]()
Сообщение
#6
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Между прочим, давать полные коды плохо - тогда тот, кому помогают совсем думать перестанет, и это буцдет медвежья услуга... На сурсах вообще запрещено давать полные коды- volvo свидетель....
![]() -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Аделина |
![]() ![]()
Сообщение
#7
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Женский Репутация: ![]() ![]() ![]() |
Спасибки!!!
Oleg_Z: не в моем случае, я ещё только в 10 классе, а в школе требуют обьяснять каждую буковку. А чё такое clrscr? И ещё, как текст с форматированием извлечь из паскаля? я просто, заменила .pas на .txt надо попробовать на .dos <_< А счет того какой максимум не знаю, скорее всего всей програмки, хотя если будет нужно думаю смогу сделать. Сообщение отредактировано: Аделина - 13.02.2005 20:31 -------------------- Лучше ужасный конец, чем ужасы без конца...
|
Altair |
![]()
Сообщение
#8
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
clrscr - очитска экрана.
writeln('nfind=',nfind) вывод на кэран 'nfind=' и занчения перменной nfind p.s. а в вашем случае как раз это обязательно - что бы вы сами думали! -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Аделина |
![]() ![]()
Сообщение
#9
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 24 Пол: Женский Репутация: ![]() ![]() ![]() |
Цитата(Oleg_Z @ 13.02.05 20:27) clrscr - очитска экрана. writeln('nfind=',nfind) вывод на кэран 'nfind=' и занчения перменной nfind p.s. а в вашем случае как раз это обязательно - что бы вы сами думали! :nono: Какое значение? Выводится номер строки, присвоенной раньше nfind:=i, нужно где-то в цикле выводить a[i,j]. А вот clrscr очь хороший оператор, мне его очь не хватало :flowers: . и ещё не подскажите ли, зачем нужно uses crt? Выяснила: мне нужен был max элемент главой диагонали. Программу сделала. :D Код Uses crt; const n=5; var a:array[1..n] of array[1..n] of word; i,j,min,max,imax,imin,k:word; Begin clrscr; randomize; for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=random(25); write(a[i,j]:2,' '); end; writeln; end; min:=a[1,1]; max:=a[1,1]; for i:=2 to n do begin if max<a[i,i] then begin max:=a[i,i]; imax:=i; end; if min>a[i,i] then begin min:=a[i,i]; imin:=i; end; end; writeln; For i:=imin to imin do begin for j:=1 to n do begin write(a[i,j]:2,' '); end; writeln; end; if a[1,1]=max then imax:=1; writeln; write('max',' ',max,' ','min',' ',min); writeln; writeln; k:=a[3,1]; a[3,1]:=a[imax,imax]; a[imax,imax]:=k; for i:=1 to n do begin for j:=1 to n do begin write(a[i,j]:2,' '); end; writeln; end; readln; end. Ещё раз спасиб^ки, почерпнула некоторое количество информации, ЗЫ: Oleg_Z, не хочу спорить, но мне полный код программы, очь помог, в изучении TP7. Ну, а вообще, конечно ты прав, респект. -------------------- Лучше ужасный конец, чем ужасы без конца...
|
klem4 |
![]()
Сообщение
#10
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
uses - подключение модулей (библиотек), которые содержат различные процедуры и.т.д
Вот например модуль CRT содержит процедуру clrscr , с которой ты уже знакома ![]() -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
klem4 |
![]()
Сообщение
#11
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
У тебя что-то не очень понятное там в коде...
Поиск максимума главной диоганали и замена [1,3] ->-<- max Код {var nf:integer;} max:=x[1,1]; nf:=1; for i:=2 to n do if x[i,i]>max then begin max:=x[i,i]; nf:=i; end; t:=x[nf,nf]; x[nf,nf]:=x[1,3]; x[1,3]:=t; -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Altair |
![]()
Сообщение
#12
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Цитата Какое значение? Выводится номер строки А номер строки, хранящийся в переменной, это уже не значение этой перменной? ![]() Цитата Oleg_Z, не хочу спорить, но мне полный код программы, очь помог, в изучении TP7. Ну, а вообще, конечно ты прав, респект. Еще бы он не помог! ![]() -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
volvo |
![]()
Сообщение
#13
|
Гость ![]() |
klem4
Ну почему же вас так тянет делать лишнее в программах? Код max_ix := 1; for i := 2 to n do if x[max_ix, max_ix] < x[i, i] then max_ix := i; и все, макс. элемент главной диагонали найден, не нужно никаких лишних переменных... |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 6:46 |