рефераты рефераты
Главная страница > Курсовая работа: Работа с текстовыми строками, двумерными массивами, файловыми структурами данных  
Курсовая работа: Работа с текстовыми строками, двумерными массивами, файловыми структурами данных
Главная страница
Банковское дело
Безопасность жизнедеятельности
Биология
Биржевое дело
Ботаника и сельское хоз-во
Бухгалтерский учет и аудит
География экономическая география
Геодезия
Геология
Госслужба
Гражданский процесс
Гражданское право
Иностранные языки лингвистика
Искусство
Историческая личность
История
История государства и права
История отечественного государства и права
История политичиских учений
История техники
История экономических учений
Биографии
Биология и химия
Издательское дело и полиграфия
Исторические личности
Краткое содержание произведений
Новейшая история политология
Остальные рефераты
Промышленность производство
психология педагогика
Коммуникации связь цифровые приборы и радиоэлектроника
Краеведение и этнография
Кулинария и продукты питания
Культура и искусство
Литература
Маркетинг реклама и торговля
Математика
Медицина
Реклама
Физика
Финансы
Химия
Экономическая теория
Юриспруденция
Юридическая наука
Компьютерные науки
Финансовые науки
Управленческие науки
Информатика программирование
Экономика
Архитектура
Банковское дело
Биржевое дело
Бухгалтерский учет и аудит
Валютные отношения
География
Кредитование
Инвестиции
Информатика
Кибернетика
Косметология
Наука и техника
Маркетинг
Культура и искусство
Менеджмент
Металлургия
Налогообложение
Предпринимательство
Радиоэлектроника
Страхование
Строительство
Схемотехника
Таможенная система
Сочинения по литературе и русскому языку
Теория организация
Теплотехника
Туризм
Управление
Форма поиска
Авторизация




 
Статистика
рефераты
Последние новости

Курсовая работа: Работа с текстовыми строками, двумерными массивами, файловыми структурами данных

 if (isletter(Sl[I])) then

 Inc(Count);

 if (Sl[I]>='A') and (Sl[I]<='Z') then

 Sl[I]:=char(byte(Sl[I])+32);

 end;

 {esli v slove net bukv}

 if Count=0 then

 alforder:=False

 else

 if Count=1 then

 alforder:=True

 else

 begin

 F:=True;

 While F do

 begin

 F:=False;

 for I:=1 to L-1 do

 if (Not isletter(Sl[I])) And (isletter(Sl[I+1])) then

 begin

 F:=True;

 Buf:=Sl[I];

 Sl[I]:=Sl[I+1];

 Sl[I+1]:=Buf;

 end;

 end;

 F:=true;

 for I:=1 to Count-1 do

 if Sl[I]>Sl[I+1] then

 begin

 F:=False;

 break;

 end;

 alforder:=F;

 end;

 end;

procedure alfslovo(S: Stroka250);

 var

 F: boolean;

 Len: Byte;

 I: Byte;

 Counter: Byte;

 FSlovo, Buf: Slovo;

 Index, L: Byte;

 MaxCol: Byte;

begin

 Len:=Length(S);

 if S[Len]<>' ' then

 begin

 S:=S+' ';

 Inc(Len);

 end;

 F:=False;

 MaxCol:=0;

 for I:=1 to Len do

 if S[I]<>' ' then

 begin

 if F=False then

 begin

 F:=True;

 Index:=I;

 L:=1;

 end

 else

 Inc(L);

 end

 else

 if F=True then

 begin

 F:=False;

 Buf:=Copy1(S, Index, L);

 Buf[0]:=char(L);

 if alforder(Buf, Counter) then

 begin

 if Counter>MaxCol then

 begin

 FSlovo:=Copy1(S, Index, L);

 FSlovo[0]:=char(L);

 MaxCol:=Counter;

 end;

 end;

 end;

 if MaxCol=0 then

 writeln('Net podhodyaschi slov v texte')

 else

 writeln(FSlovo, ' kol-vo bukv: ', MaxCol);

end;

function simmetr(S: Slovo):boolean;

var

 L, I, R: Byte;

 F: Boolean;

begin

 L:=Length(S);

 R:=L div 2;

 F:=True;

 for I:=1 to R do

 if S[I]<>S[L-I+1] then

 begin

 F:=False;

 break;

 end;

 simmetr:=F;

end;

procedure colsimmslovo(S: Stroka250);

 var

 F: boolean;

 Len: Byte;

 I: Byte;

 Counter: Byte;

 Buf: Slovo;

 Index, L: Byte;

 MaxCol: Byte;

begin

 Len:=Length(S);

 if S[Len]<>' ' then

 begin

 S:=S+' ';

 Inc(Len);

 end;

 F:=False;

 Counter:=0;

 writeln('Spisok simmetrichnyh slov iz bolshe chem 2 znaka:');

 for I:=1 to Len do

 if S[I]<>' ' then

 begin

 if F=False then

 begin

 F:=True;

 Index:=I;

 L:=1;

 end

 else

 Inc(L);

 end

 else

 if F=True then

 begin

 F:=False;

 if L>2 then

 begin

 Buf:=Copy(S, Index, L);

 Buf[0]:=char(L);

 if simmetr(Buf) then

 begin

 Inc(Counter);

 writeln(Buf);

 end;

 end;

 end;

 writeln('Kol-vo naidennyh slov: ', Counter);

end;

procedure menu;

begin

writeln;

writeln('++++++++++++++++++++++++++++++++++++++++++++++++');

writeln('+ Vvod texta --> 1 +');

writeln('+ Slovo s max. kol.bukv v alf. poryadke --> 2 +');

writeln('+ Simmetrichnye slova --> 3 +');

writeln('+ Vyvod texta --> 4 +');

writeln('+ +');

writeln('+ Konec --> 0 +');

writeln('++++++++++++++++++++++++++++++++++++++++++++++++');

writeln;

end;

var

 Txt: Stroka250;

 Vvod, Cont: Boolean;

 Rem: Char;

begin

Vvod:=False;

Cont:=True;

while Cont do

 begin

 clrscr;

 menu;

 write('Vvedite komandu: ');

 readln(Rem);

 case Rem of

 '0': Cont:=False;

 '1': begin

 writeln('Text:');

 readln(Txt);

 Vvod:=True;

 end;

 '2': begin

 if Not Vvod then

 writeln('Ne vveden text')

 else

 alfslovo(Txt);

 end;

 '3': begin

 if Not Vvod then

 writeln('Ne vveden text')

 else

 colsimmslovo(Txt);

 end;

 '4': begin

 if Not Vvod then

 writeln('Ne vveden text')

 else

 writeln(Txt);

 end

 else

 writeln('Neizvestnaya komanda');

 end;

 if Cont then

 begin

 write('Nagmite ENTER dlya vvoda sleduyuschei komandy... ');

 readln;

 end

 else

 clrscr;

end;

end.

8  Приложение Б

Код программы 2

program massiv1;

uses crt;

type

 Matrix=array[1..20,1..20] of Integer;

type

 Vector=array[1..80] of Integer;

procedure TurnArray(var V: Vector; NN: Integer; Rev: Integer);

var

 Buf: Integer;

 I, J: Integer;

begin

 for J:=1 to Rev do

 begin

 Buf:=V[NN];

 for I:=NN downto 2 do

 V[I]:=V[I-1];

 V[1]:=Buf;

 end;

end;

procedure TurnMatrix(var A: Matrix; N: Integer);

var

 Arr: Vector;

 I, J, K, Ot, L: Integer;

 R: Integer;

 Revers: Integer;

 Buf1, Buf2: Integer;

begin

 R:=N div 2;

 Ot:=0;

 for K:=1 to R do

 begin

 L:=0;

 for J:=1+Ot to N-Ot do

 begin

 Inc(L);

 Arr[L]:=A[1+Ot, J];

 end;

 for I:=2+Ot to N-1-Ot do

 begin

 Inc(L);

 Arr[L]:=A[I, N-Ot];

 end;

 for J:=N-Ot downto 1+Ot do

 begin

 Inc(L);

 Arr[L]:=A[N-Ot, J];

 end;

 for I:=N-1-Ot downto 2+Ot do

 begin

 Inc(L);

 Arr[L]:=A[I, 1+Ot];

 end;

 Revers:=N-2*Ot-1;

 TurnArray(Arr, L, Revers);

 L:=0;

 for J:=1+Ot to N-Ot do

 begin

 Inc(L);

 A[1+Ot, J]:=Arr[L];

 end;

 for I:=2+Ot to N-1-Ot do

 begin

 Inc(L);

 A[I, N-Ot]:=Arr[L];

 end;

 for J:=N-Ot downto 1+Ot do

 begin

 Inc(L);

 A[N-Ot, J]:=Arr[L];

 end;

 for I:=N-1-Ot downto 2+Ot do

 begin

 Inc(L);

 A[I, 1+Ot]:=Arr[L];

 end;

 Inc(Ot);

 end;

end;

procedure FormMatrix(var A: Matrix; N, M: Integer);

var

 I, J: Integer;

 D: Integer;

 R: Integer;

begin

 randomize;

 for I:=1 to N do

 for J:=1 to M do

 begin

 A[I,J]:=random(100);

 if (random(1000) mod 2)=0 then

 A[I,J]:=0-A[I,J];

 end;

end;

procedure PrintMatrix(var A: Matrix; N, M: Integer);

var

 I, J: Integer;

begin

 for I:=1 to N do

 begin

 for J:=1 to M do

 write(A[I,J]:4);

 writeln;

 end;

end;

var

 Matr: Matrix;

 N: Integer;

begin

 clrscr;

 repeat

 write('Razmer matricy (12..20): ');

 readln(N);

 until (N>=12) and (N<=20);

 FormMatrix(Matr, N, N);

 writeln('Sformirovana matrica:');

 PrintMatrix(Matr, N, N);

 TurnMatrix(Matr, N);

 writeln('Matrica posle povorota');

 PrintMatrix(Matr, N, N); readln;

end.


 

9  Приложение В

Код программы 3

program textfile;

uses

 crt;

type

 arr = array [1..83] of string;

var

 slova1, slova2, slova: arr;

 m, m1, m2, k1, k2, k, l, g: integer;

 first, second, third: text;

 command: char;

 p, v, t, S1, S2: string;

 pf, vf, tf, cont, flag1, flag2: boolean;

function check2: boolean;

begin

 if eof(first) = true then flag1 := true else flag1 := false;

 if eof(second) = true then flag2 := true else flag2 := false;

 if (flag1 = false) and (flag2 = false) then check2 := false else check2 := true;

end;

procedure closing;

begin

 close(first);

 close(second);

 close(third);

end;

procedure obrslov(a, b: arr; na, nb: integer; var c: arr; var nc: integer);

var

 i, j, k: integer;

begin

 nc := 0;

 for i := 1 to na do

 begin

 k := 0;

 for j := 1 to nb do

 if a[i] = b[j] then k := 1;

 if k = 0 then

 begin

 nc := nc + 1;

 c[nc] := a[i];

 end;

 end;

 for i := 1 to nb do

 begin

 k := 0;

 for j := 1 to na do

 if b[i] = a[j] then k := 1;

 if k = 0 then

 begin

 nc := nc + 1;

 c[nc] := b[i];

 end;

 end;

end;

procedure slv;

var

 i, j: integer;

begin

 Readln(first, S1);

 readln(second, S2);

 S1 := ' ' + S1 + ' ';

 S2 := ' ' + S2 + ' ';

 k1 := 0;

 k2 := 0;

 for i := 1 to length(S1) do

 begin

 if s1[i] = ' ' then

 begin

 for j := i + 1 to length(s1) do

 if s1[i + 1] <> ' ' then

 if s1[j] = ' ' then begin

 k1 := k1 + 1;

 slova1[k1] := copy(s1, i + 1, j - i - 1);

 break;

 end;

 end;

 end;

 for i := 1 to length(S2) do

 begin

 if s2[i] = ' ' then

 begin

 for j := i + 1 to length(s2) do

 if s2[i + 1] <> ' ' then

 if s2[j] = ' ' then begin

 k2 := k2 + 1;

Страницы: 1, 2, 3, 4, 5, 6, 7

рефераты
Новости