Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Задача на массивы

Автор: Farfalla 26.12.2007 3:46

Нужно:
- чтобы вводимые элементы были пронумерованы
- чтобы была проверка на буквы
- чтобы при ошибке ввод новых элементов не накладывался на сообщение об ошибке

Заранее спасибо.


Прикрепленные файлы
Прикрепленный файл  OST1.PAS ( 1.63 килобайт ) Кол-во скачиваний: 238

Автор: Fetch 9.01.2008 10:39

- вводимые элементы пронумерованы
- при ошибке ввод новых элементов не накладывается на сообщение об ошибке
- проверка на буквы (выводится сообщение)
кодировка русского полетела, сама подправишь (мой паскаль не переносит русские буквы)

program delenie;
uses crt;
var
a: array [1..30] of integer;
m: array [1..30] of integer;
I,n: integer;
ch: char;
Error: integer;
Label L1, L2 ;
begin
clrscr;
textbackground (Green);
textcolor (yellow);
gotoxy (20,1) ;
writeln('‚ 襬㠢­Ё¬ ­Ёо ЇаҐ¤®бв ў«пвбп Їа®Ја ¬¬ ,');
gotoxy (20,2) ;
writeln('Є®в®а п д®а¬ЁагҐв ­®ўл© ¬ ббЁў');
gotoxy (20,3) ;
writeln('Ё§ н«Ґ¬Ґ­в®ў Ёб室­®Ј® ¬ ббЁў .');
gotoxy (40,12) ;
writeln('Џа®Ја ¬¬г б®бв ўЁ« бв㤥­вЄ ');
gotoxy (40,13) ;
writeln('');
gotoxy (49,14) ;
writeln('') ;
gotoxy (40,15) ;
writeln('Ј.Њ®бЄў , 16.12.2007') ;
gotoxy (20,24);
writeln('­ ¦¬ЁвҐ «оЎго Є« ўЁиг ¤«п Їа®¤®«¦Ґ­Ёп');
Ch:=readkey;
L1:
ClrScr;
Begin
ClrScr;
Repeat
Writeln('‚ўҐ¤ЁвҐ Є®«ЁзҐбвў® н«Ґ¬Ґ­в®ў ў Ё­вҐаў «Ґ');
gotoxy (51,1) ;
write ('®в 2 ¤® 30...') ;
{$I-}
Readln(N) ;
Error:=IOResult;
{SI+}
If (N<2) or (N>30) or (Error<>0) then begin
Writeln('ЌҐўҐа­® § ¤ ­® Є®«ЁзҐбвў® н«Ґ¬Ґ­в®ў ¬ ббЁў ! Џ®ўв®аЁвҐ ўў®¤!');
readln;
clrscr;end; {Очищаем экран, чтоб новый ввод не накладывался на сообщение об ошибке}
Until (N>=2) and (N<=30) and (Error=0);
writeln;
writeln('€б室­л© ¬ ббЁў ‘:');
For i:=1 to n do
begin
write('a[',i,']: '); {Перед вводом элемента пишем какой по номеру элемент будем вводить}
readln(a[i]);
if IOResult<>0 then {Контроль ввода буквы}
begin
writeln('Введена буква');
readln;
end;
if a[i]/5<>round(a[i]/5) then m[i]:=2;
if a[i]/10=round(a[i]/10) then m[i]:=1;
end;
writeln;
writeln('ђҐ§г«мв в­л© ¬ ббЁў CI:');
for i:=1 to n do
if m[i]=1 then write (a[i],',');
for i:=1 to n do
if m[i]=2 then write (a[i],',');
ch:= readkey;
end;
writeln;
writeln('Џ®ўв®аЁвм? (Y-„ , N-ЌҐв)') ;
L2:
Case Readkey of
#89: Goto L1;
#121: Goto L1;
#78:Exit;
#110:Exit
end;
Goto L2;
end.