close

Вход

Забыли?

вход по аккаунту

?

2 (2)

код для вставкиСкачать
РОСЖЕЛДОР
Федеральное государственное бюджетное образовательное
учреждение высшего профессионального образования
"Ростовский государственный университет путей сообщения"
(ФГБОУ ВПО РГУПС)
Лабораторная работа По дисциплине
"Системное программное обеспечение"
На тему
"Выделение целых чисел и слов.
Выделение входного потока идентификаторов"
Вариант №13
№2
Выполнил:
Ст-т Лысак В.В.
Гр. АИ-3-026
Проверил:
Пр-ль Ведерникова О.Г.
Г. Ростов-на-Дону
2013 г.
Выделение чисел
Дана одна строка текста, содержащая как буквы , цифры так и другие символы.
Создать массив строк каждый элемент которого состоит из целых чисел (последовательность цифр) исходной строки.
Числом считать набор цифр идущих друг за другом , число заканчивается, когда далее появляется любой другой символ кроме цифры.
Необходимо , чтобы в создаваемом массиве строк не было пустых элементов, соответствующих не цифрам.
Далее полученный массив строк упорядочить по возрастанию первой цифры в числе.
Граф
Пример
6534*hjikh +44 vjhv hgj/jk*k;j4kl4njk#
Код программы
PROGRAM laboratornuy_rabota2;
VAR x,temp:char; OutsideF: text;
status,i,j:integer; flag: boolean; buffer:string;
BEGIN
status:=0;
flag:=false;
assign(OutsideF,'2.txt');
reset(OutsideF);
writeln('Ïîëó÷åííûé ìàññèâ: ');writeln;
WHILE flag=false DO BEGIN
CASE status OF
0: begin
read(OutsideF,x);
if x in ['0'..'9'] then begin status:=1; buffer:=x; end;
if eof(OutsideF)=true then status:=2;
end;
1: begin
read(OutsideF,x);
if x in ['0'..'9'] then
begin buffer:=buffer+x;end
else
begin
for i:=1 to Length(buffer)-1 do
for j:=i+1 to Length(buffer) do
if buffer[i]>buffer[j] then
begin
temp:=buffer[i];
buffer[i]:=buffer[j];
buffer[j]:=temp
end;
writeln(buffer);
status:=0;
end;
end;
2: begin
flag:=true;
close(OutsideF);
end;
end;
end;
end.
Пример выполнения 2*Выделение идентификаторов
ГРАФ
Пример
int1_785 !!#4int2&$#^(int3_justdoit_\\\int4[[[_int5
Код программы
PROGRAM laboratornay_rabota22;
VAR s,c:STRING;
k:ARRAY [1..1000] OF STRING;
f:text;
st,i,x,n:integer;
BEGIN
assign(f,'original.txt');
reset(f);
readln(f,c);
close(f);
writeln (length(c));i:=0;
if ((c[1]>='a') and (c[1]<='z')) then
begin k[1]:=c[1];i:=1; x:=2;st:=1;end;
repeat
case st of
1:begin if ((c[x]>='a') and (c[x]<='z')) or ((c[x]>='0') and (c[x]<='9')) then
begin k[i]:=k[i]+c[x];x:=x+1; end else begin st:=2;x:=x+1; end;end;
2:begin if ((c[x]>='a') and (c[x]<='z')) then
begin i:=i+1;k[i]:=c[x]; x:=x+1;st:=1; end else x:=x+1;
end; end;
until x=52;
n:=i;
assign(f,'reseive.txt');
rewrite(f);
for i:=1 to n do
writeln(f,k[i]);
close(f);
end.
Пример выполнения int1
int2
int3
justdoit
int4
int5
Документ
Категория
Рефераты
Просмотров
5
Размер файла
25 Кб
Теги
1/--страниц
Пожаловаться на содержимое документа