![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
nadia |
![]() ![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 7 Пол: Женский Реальное имя: Надежда Репутация: ![]() ![]() ![]() |
Очень нужно решить контрольную в универ по турбо паскалю. Я его учила 2 года назад, но почти ничего не помню. Помоги пожалуйста. Буду очень презнательна.
Вот задачка: Задана матрица А[M/M] действительных чисел. Поменять местами максимальный и минимальный элементы главной диагонали. Вывести преобразованную матрицу. |
![]() ![]() |
мисс_граффити |
![]()
Сообщение
#2
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
1. найти минимум и максимум, запомнить их индексы. точнее, запомнить одно число, т.к. элементы на главной диагонали имеют индексы вида [1,1] [2,2] и т.д.
2. поменять местами. на каком этапе проблемы? -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
nadia |
![]() ![]()
Сообщение
#3
|
Группа: Пользователи Сообщений: 7 Пол: Женский Реальное имя: Надежда Репутация: ![]() ![]() ![]() |
Минимум и максимум вроде нашла, а вот как поменять их местами возникла проблемка! Подскажи пожалуйста что делать?? [quote name='мисс_граффити' date='29.11.2006 20:30' post='81201']
![]() |
мисс_граффити |
![]()
Сообщение
#4
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
DopPerem:=a[mini,mini]; -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
nadia |
![]() ![]()
Сообщение
#5
|
Группа: Пользователи Сообщений: 7 Пол: Женский Реальное имя: Надежда Репутация: ![]() ![]() ![]() |
Пыталась найти минимальный и максимальный, вроде написала, но ничего не получается. Не могу собрать все в кучу. Матрица не вводиться. Пишет введите 'n' а дальше данные вводятся в столбик. И все.
Что мне делать??? ![]() |
YnickYM |
![]()
Сообщение
#6
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
или можно без ввода доп. переменной:
a[max;max]:=a[max+min;max+min] a[min;min]:=a[max-min;max-min] a[max;max]:=a[max-min;max-min] Пыталась найти минимальный и максимальный, вроде написала, но ничего не получается. Не могу собрать все в кучу. Матрица не вводиться. Пишет введите 'n' а дальше данные вводятся в столбик. И все. Что мне делать??? ![]() for i:=1 to M do for j:=1 to M do readln(a[i,j]); Сообщение отредактировано: YnickYM - 29.11.2006 22:05 -------------------- Ignoscito saepe alteri, nunquam tibi.
|
nadia |
![]() ![]()
Сообщение
#7
|
Группа: Пользователи Сообщений: 7 Пол: Женский Реальное имя: Надежда Репутация: ![]() ![]() ![]() |
Написала вот такую программу:
Program xxx; А вот как сделать так чтоб она правильно работала не могу понять??? Подскажите пожалуйста в чем ошибка и как правильно вывести НОВУЮ ПРЕОБРАЗОВАННУЮ МАТРИЦУ! И как сделать чтоб матрица имела вид матрицы а не одного длинного столбца. Помогите очень прошу!!!! Заранее большое спасибо! ![]() Теги !!! Сообщение отредактировано: volvo - 30.11.2006 11:45 |
nadia |
![]() ![]()
Сообщение
#8
|
Группа: Пользователи Сообщений: 7 Пол: Женский Реальное имя: Надежда Репутация: ![]() ![]() ![]() |
[quote name='мисс_граффити' date='29.11.2006 20:30' post='81201']
Теперь коечто изменила и получилось, что минимальный и максимальный элементы находятся правильно, а вот как поменять их местами - с этим большущая проблемка. Помогите пожалуйста, скажите где проблемка. Program xxx; ![]() Теги !!! Сообщение отредактировано: volvo - 30.11.2006 11:45 |
nadia |
![]() ![]()
Сообщение
#9
|
|||
Группа: Пользователи Сообщений: 7 Пол: Женский Реальное имя: Надежда Репутация: ![]() ![]() ![]() |
Program xxx; Написала вот что. Максимальный и минимальный элементы находятся, а вот чтоб поменять их местами - с этим оказалась проблемка. Помогите кто нибудь пожалуйста!!!
|
|||
мисс_граффити |
![]()
Сообщение
#10
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
nadia, во-первых, правила форума к тебе тоже относятся.
Зачем создавать новую тему? И при размещении программ пользуйся тэгами - невозможно же читать! как менять местами элементы - я, по-моему, вполне четко написала. что непонятно? Цитата a[max;max]:=a[max+min;max+min] ![]() допустим, максимальный элемент на позиции 1,1 минимальный на 3,3 a[3,3]:=a[4,4]; a[1,1]:=a[-2,-2] a[3,3]:=a[-2,-2] YnickYM, что ты этим хотел сказать? или max - это не индекс максимального, а он сам? тогда еще интереснее... Сообщение отредактировано: мисс_граффити - 30.11.2006 0:00 -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Lapp |
![]()
Сообщение
#11
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: ![]() ![]() ![]() |
Я причесал твою прогу, чтоб читалась нормально.
Убрал несколько begin/end'ов. При нахождении минимума ты запоминала индексы, а при нахождении максимума - нет ![]() В конце два очевидных оператора решают твою проблему.. ![]() Все добавления снабжены комментариями. Uses PS В названии темы, пожалуйста, не пиши просьбы помочь - здесь 99.9% просьбы о помощи. Пиши краткое описание задачи. Успехов! -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
мисс_граффити |
![]()
Сообщение
#12
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
lapp, а ничего, что в соседней теме мы решаем ЭТУ же задачу, выложенную nadia?
2 мисс_граффити: извини, не заметил. Спасибо за наводку. Объединяю темы. 2 nadia: предупреждение!! ![]() Сообщение отредактировано: lapp - 30.11.2006 11:30 -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
volvo |
![]()
Сообщение
#13
|
Гость ![]() |
|
nadia |
![]() ![]()
Сообщение
#14
|
Группа: Пользователи Сообщений: 7 Пол: Женский Реальное имя: Надежда Репутация: ![]() ![]() ![]() |
Огромное Вам человеческое спасибо!!!
![]() ![]() |
YnickYM |
![]()
Сообщение
#15
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
Извиняюсь, чушь написал.
Вот мой вариант программы Цитата Uses crt; Var a:array[1..10,1..10] of integer; i,j,min,max,n: integer; BEGIN ClrScr; Write ('n='); ReadLn (n); for i:=1 to n do for j:=1 to n do begin Read(a[i,j]); if j=n then writeln; end; max:=1; for i:=1 to n do for j:=1 to n do if a[i,i]>a[max,max] then max:=i; min:=1; for i:=1 to n do for j:=1 to n do if a[i,i]<a[min,min] then min:=i; i:=a[min,min]; a[min,min]:=a[max,max]; a[max,max]:=i; for i:=1 to n do //вывод преобразованной матрицы for j:=1 to n do begin write(a[i,j],' '); if j=n then writeln; end; readln; End. Сообщение отредактировано: YnickYM - 30.11.2006 22:06 -------------------- Ignoscito saepe alteri, nunquam tibi.
|
мисс_граффити |
![]()
Сообщение
#16
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
замечательная программка.
скажи мне честно, ты ее ПОТЕСТИРОВАТЬ не пробовал? как думаешь, имеет ли смысл строчка: if a[i,i]<a[max,max] then min:=i; понимаешь, что меньше максимального элемента не только минимальный, но и многие другие? a[max,max]:=a[min;min]; пишем сценарий для мультфильма про Телепузиков? Это они все по два раза повторяют... for i:=1 to n do for j:=1 to n do Read(a[i,j]); Сразу при вводе выводить нельзя? Или тоже принципиально отделяешь ввод от вывода -чтобы не запутаться? i:=a[min,min]; и зачем ты это делаешь? потом же все равно затираешь значение, хранящееся в i продолжить или хватит? -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
YnickYM |
![]()
Сообщение
#17
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
замечательная программка. скажи мне честно, ты ее ПОТЕСТИРОВАТЬ не пробовал? Честно говоря, нет. Цитата как думаешь, имеет ли смысл строчка: if a[i,i]<a[max,max] then min:=i; понимаешь, что меньше максимального элемента не только минимальный, но и многие другие? Исправлено Цитата a[max,max]:=a[min;min]; пишем сценарий для мультфильма про Телепузиков? Это они все по два раза повторяют... Пардон, опечатка. Имелось ввиду: i:=a[min,min]; a[min,min]:=a[max,max]; a[max,max]:=i; Цитата for i:=1 to n do for j:=1 to n do Read(a[i,j]); Сразу при вводе выводить нельзя? Или тоже принципиально отделяешь ввод от вывода -чтобы не запутаться? Цитата продолжить? Если вас не затруднит -------------------- Ignoscito saepe alteri, nunquam tibi.
|
мисс_граффити |
![]()
Сообщение
#18
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
так... вывод массива ты вообще убрал - ну правильно, пусть пользователь тренирует память. подумаешь, 100 чисел запомнить.
зачем 4 цикла: max:=1; , когда достаточно 1? и зачем начинать с 1, если можно с 2? в общем, Правила: Цитата 7. Проверяйте программы перед тем, как разместить их на форуме!!! З.Ы. На будущее - делай человеческие отступы. Невозможно ж читать код! Сообщение отредактировано: мисс_граффити - 30.11.2006 22:46 -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
YnickYM |
![]()
Сообщение
#19
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 18 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
Цитата так... вывод массива ты вообще убрал - ну правильно, пусть пользователь тренирует память. подумаешь, 100 чисел запомнить. for i:=1 to n do for j:=1 to n do begin Read(a[i,j]); if j=n then writeln; end; какой вывод? del Сообщение отредактировано: YnickYM - 30.11.2006 23:37 -------------------- Ignoscito saepe alteri, nunquam tibi.
|
![]() ![]() |
![]() |
Текстовая версия | 21.07.2025 11:07 |