IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Не получается вставить цикл.
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 37
Пол: Мужской

Репутация: -  0  +


Привет всем! Я недавно начал работать с Паскалем и у меня возникли некоторые вопросы... Вы не могли бы подсказать как правильно поступить?
Допустим есть такой код:

uses crt;
var
x:integer;
y:integer;
z:integer;
begin
clrscr;

write('Vvedite X: ');
readln(x);
write('Vvedite Y: ');
readln(y);
write('Vvedite Z: ');
readln(z);

if(x=y) and (y=z) then writeln('X=0 Y=0 Z=0');
if(x<y) and (x<z) then writeln('X=0',' Y=',y,' Z=',z);
if(y<x) and (y<z) then writeln('X=',x,' Y=0 ','Z=',z);
if(z<x) and (z<y) then writeln('X=',x,' Y=',y,' Z=0');

write('Nazhmite Enter...');
readln;
end.


Как сделать так, при вводе X,Y,Z не цифр, а СИМВОЛОВ программа не выкидывала меня в редактор с ошибкой "Invalid numeric format", а скажем выдавала сообщение типа ERROR и предлагала ввести ввести данные заново? Заранее спасибо!

Сообщение отредактировано: volvo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






garry_m, поставленная тобой (или тебе, неважно) задача решается так:
(см. также Пузырьковая сортировка, именно этот алгоритм применялся для сортировки столбцов, и Как задать матрицу, чтобы ... - это использовалось для самого описАния матрицы...)
uses crt;
const
{Razmernost matrici MxN}
m = 5; { columns }
n = 5; { lines }

type
TColumn = array[1 .. n] of integer;
Tmat = array[1 .. m] of TColumn;
var
mat: Tmat; {Matrici nachalnije i konechnije}
ch: Char; {Peremennaja podtverzdenija}
j_m, i_m, i_n: integer;

cnt: integer;
T: TColumn;
begin
clrscr;

{ Zapolnenije matrici }
write('Vi hotite zapolnit matricu vruchnuju [Y] ili avtomaticheski [N]?: ');
Ch := ReadKey; cnt := 0;

writeln;
for i_m:=1 to m do
for i_n:=1 to n do

if UpCase(Ch) = 'Y' then begin
write('mat[',i_m:2,', ',i_n:2, '] = ');
readln(mat[i_n][i_m]);
end
else
mat[i_n][i_m] := i_m * i_n;


{Vivod nachalnoj matrici}
writeln('Nachalnaja matrica ',M,'x',N,':');
for i_m:=1 to M do begin
for i_n:=1 to N do
write(mat[i_n][i_m]:5);
writeln;
end;


{Perestanovka strok}
write('Dlja vivoda konechnoj matrici nazhmite Enter...'); readln;


writeln('Konechnij rezultat:');
For i_m := 1 To m Do
For j_m := m DownTo i_m + 1 Do
If mat[Pred(j_m)][n] > mat[j_m][n] Then { < } Begin
T := mat[j_m - 1]; mat[j_m - 1] := mat[j_m]; mat[j_m] := T
End;


{Vivod konechnoj matrici}
for i_m:=1 to M do begin
for i_n:=1 to N do
write(mat[i_n][i_m]:5);
writeln;
end;

write('Dlja prodolzhenija nazhmite Enter...'); readln;

end.


P.S. В следующий раз вопросы на другие темы задавай в новом топике...
 К началу страницы 
+ Ответить 

Сообщений в этой теме
garry_m   Не получается вставить цикл.   4.12.2005 1:31
volvo   Вот общий принцип (чтобы не было ошибок при неверн…   4.12.2005 1:42
garry_m   Ну применить это у меня получилось, но только для …   4.12.2005 16:09
volvo   А если {SI-} поменять на {$I-} ? И с плюсом т…   4.12.2005 16:11
garry_m   Сорри! Подвела невнимательность! Пасиб бол…   4.12.2005 16:14
garry_m   Тут составил еще одну программку... никто не подск…   6.12.2005 1:57
volvo   garry_m, я немного подправил твою программку, она …   6.12.2005 2:09
garry_m   volvo, все работает как надо! Кстати я только …   6.12.2005 3:14
garry_m   Блин тут возникла проблема небольшая... программу-…   7.12.2005 1:30
volvo   garry_m, поставленная тобой (или тебе, неважно) за…   7.12.2005 3:44
garry_m   Странно... а почему в программе, которую ты написа…   7.12.2005 21:12
volvo   А потому, что таблица умножения уже упорядочена по…   7.12.2005 21:15
garry_m   И вручную и автоматически... так мне нужно еще вст…   7.12.2005 21:22
volvo   Приведи данные, которые ты вводил !!! …   7.12.2005 21:24
garry_m   Ну я вводил данные вручную... Вводил числа 1,2,3,4…   7.12.2005 21:31
volvo   garry_m, а как ты думаешь, числа, образующие после…   7.12.2005 21:34
volvo   Стоп... Тебе нужно по невозрастанию... :blink: То…   7.12.2005 21:38
garry_m   Ну разница есть... :-) Но задача стояла упорядочит…   7.12.2005 21:40
garry_m   Отлично! Теперь все пучком! Пасиб!   7.12.2005 21:45


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 9.09.2025 17:11
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name