Форум «Всё о Паскале» _ Задачи _ задачка на pascal. массив
Автор: MrOverseer 6.01.2008 13:41
В массиве 3х4 расставить в обратном порядке элементы каждой строки.
В задаче нужно чтобы было видно первоначальная матрица и конечный результат, и желательно программу написать по-проще. ПОЖАЛУЙСТА помогите!!!!!!
Автор: Client 6.01.2008 15:04
uses crt; var a,b:array [1..4,1..4] of integer; i,j:byte; begin clrscr; writeln(' Vvedite: '); for i:=1 to 4 do for j:=1 to 4 do read(a[i,j]); for i:=1 to 4 do for j:=4 downto 1 do b[i,j]:=a[i,5-j]; for i:=1 to 4 do begin for j:= 1 to 4 do write(a[i,j]:5); writeln end; writeln; for i:=1 to 4 do begin for j:= 1 to 4 do write(b[i,j]:5); writeln end; readkey end.
Так пойдет?
Автор: klem4 6.01.2008 16:33
Client, зачем 2 матрицы ? В задании об этом ничего не сказано
Автор: Client 6.01.2008 17:20
Но там и не сказано что его нельзя использовать (второй массив) Ну да ладно, вот решил, хотя можно было лишь в факе посмотреть...
uses crt; const n=4; var a:array[1..n,1..n] of integer; i,j:byte; с:integer; begin clrscr; for i:=1 to n do for j:=1 to n do read(a[i,j]); for i:=1 to n do for j:=1 to n div 2 do begin с:=a[i,j]; a[i,j]:=a[i,n-j+1]; a[i,n-j+1]:=с end; for i:=1 to n do begin for j:=1 to n do write(a[i,j]:5); writeln; end; readkey end.
Автор: MrOverseer 6.01.2008 19:42
Цитата
Так пойдет?
что такое readkey и как он работает? и еще что такое const, что такое byte и что такое div?
в 4-ом сообщении прога - не пашет а в 3-м сообщении получилось как-то налеплено. как сделать промежуток между столбцами массива?
Автор: Client 6.01.2008 21:15
Цитата
в 4-ом сообщении прога - не пашет
Надо же, интересно, как это она не работает, когда она у меня даже правильный ответ дает??
Автор: MrOverseer 6.01.2008 21:20
Цитата
Надо же, интересно, как это она не работает, когда она у меня даже правильный ответ дает??
Переписал в точности до запятой. пустой экран, ввожу числа и усе!
что такое readkey и как он работает? и еще что такое const, что такое byte и что такое div?
Автор: Client 6.01.2008 21:28
Вот что у меня
Эскизы прикрепленных изображений
Автор: MrOverseer 6.01.2008 21:32
чё за readkey??? и зачем он нужен???
Добавлено через 8 мин.
Цитата
Вот что у меня
а у меня ответ после ввода не выдает. сразу выходит! и если убрать клрскр то ответ в предыдущем случае виден. В чем моя ошибка(кроме как в ДНК)?
Автор: ammaximus 6.01.2008 21:43
readkey-функция нажатой клавиши. Возвращает код нажатой клавиши. Здесь используется для задержки выведенной информации на экране до тех пор пока не нажата какая-нибудь клавиша. div-целочисленное деление, деление с отбрасыванием остатка byte - целочисленный тип, переменная этого типа способна принимать значения в диапазоне 0..256, т.е. 1 байт const - раздел описания констант, переменных, к-рые запрещено изменять во время исполнения программы.
Попробуй взять любой учебник, там описано подробнее, вся эта информация, скорее, на первых 10 страницах.
Автор: MrOverseer 6.01.2008 21:48
у меня не работает этот readkey паскаль на него жалуется.
Автор: ammaximus 6.01.2008 21:50
возможно ты забыл прописать uses crt; в начале
Автор: MrOverseer 6.01.2008 21:54
Цитата
возможно ты забыл прописать uses crt; в начале
нет не забыл
у меня версия паскаля 6.0. может из-за этого?
Автор: ammaximus 6.01.2008 22:21
Сотри readkey; и напиши readln; В чем особенности шестой версии сказать не могу, никогда не пользовался.
Автор: MrOverseer 7.01.2008 20:12
Цитата
Сотри readkey; и напиши readln;
по-моему readkey исп-ся в С++ а в паскале он не всегда робатает, так?
Цитата
a[i,j]:=a[i,n-j+1];
почему записано именно так, что означает? и вообще не могу разобраться в проге
и в задании вообще массив 3х4
Автор: volvo 7.01.2008 21:31
Цитата
по-моему readkey исп-ся в С++ а в паскале он не всегда робатает, так?
Чего? При чем тут C++? Библиотечная функция языка, не работает - значит неправильно используешь...
А не работает - по очень простой причине: 1000 раз повторял, Client, наконец начинай обращать внимание на свои же прошлые ошибки!!! Не первый же день на форуме. Чего ты постоянно пихаешь везде Read вместо ReadLn? Ну, ввел число, а Enter где остался? В буфере клавиатуры? Поэтому даже один ReadLn в конце программы не помогает - надо ставить 2: первый прочтет тот самый забытый Enter из буфера, второй будет ждать еще одного нажатия на Enter...