Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Алгоритмы удаления, вставки и перестановки элементов





Задача 1. Дан двумерный массив размерностью 8х7, заполненный случайным образом.

· Поменять местами средние строки с первой и последней.

· Вставить между средними строками первую строку.

· Удалить все столбцы, в которых первый элемент больше последнего.

· Заменить все элементы первых трех столбцов на их квадраты.

USES Crt;

VAR

A:ARRAY[0..8,0..7] OF INTEGER; A1:ARRAY[0..9,0..7] OF INTEGER;

A2:ARRAY[0..8,0..7] OF INTEGER;

I,J,K:BYTE; PP:INTEGER;

BEGIN

ClrScr; Randomize;

{ Заполнение двумерного массива случайным образом и вывод в виде прямоугольной матрицы }

WriteLn(' Значения элементов двумерного массива');

FOR I:=1 TO 8 DO Begin

FOR J:=1 TO 7 DO Begin

A[I,J]:=Random(15); Write(A[I,J]:3);

End; WriteLn;

End; WriteLn;

{ 1. Поменять местами строки }

WriteLn(' Средние строки поменялись местами с первой и последней');

FOR J:=1 TO 7 DO Begin

PP:=A[1,J]; A[1,J]:=A[4,J]; A[4,J]:=PP;

PP:=A[5,J]; A[5,J]:=A[8,J]; A[8,J]:=PP;

End;

{ Вывод измененного массива }

FOR I:=1 TO 8 DO Begin

FOR J:=1 TO 7 DO

Write(A[I,J]:3);

WriteLn;

End; ReadLn;

{ 2. Вставка }

WriteLn(' Первая строка вставлена между средними строками');

K:=0;

FOR I:=1 TO 8 DO Begin

Inc(K);

FOR J:=1 TO 7 DO Begin

A1[K,J]:=A[I,J]; Write(A1[K,J]:3);

End; WriteLn;

IF I=4 THEN Begin

Inc(K);

FOR J:=1 TO 7 DO Begin

A1[K,J]:=A[1,J]; Write(A1[K,J]:3);

End; WriteLn;

End;

End; Writeln; ReadLn;

{ 3. Удаление}

WriteLn(' Столбцы, в которых первый элемент > последнего, удалены');

K:=0;

FOR J:=1 TO 7 DO

IF A[1,J]<=A[8,J] THEN Begin

Inc(K);

FOR I:=1 TO 8 DO

A2[I,K]:=A[I,J];

End;

{ Вывод измененного массива }

FOR I:=1 TO 8 DO Begin

FOR J:=1 TO K DO

Write(A2[I,J]:3);

WriteLn;

End; ReadLn;

{ 4. Замена }

WriteLn(' Элементы первых трех столбцов заменены на их квадраты');

FOR I:=1 TO 8 DO Begin

FOR J:=1 TO 7 DO Begin

IF J<=3 THEN A[I,J]:=Sqr(A[I,J]); Write(A[I,J]:4);

End; WriteLn;

End;

End.

.....................................................................................................................................

Практические задания

.....................................................................................................................................

Дан двумерный массив размером 5х6, заполненный случайным образом.

· Поменять местами средние строки.

· Вставить после столбцов, содержащих максимальный элемент массива, столбец из нулей.

· Удалить все столбцы, в которых первый элемент больше заданного числа А.

· Заменить максимальный элемент каждой строки на противоположный.

Обработка строк

Подсчет и вывод символов

Задача 1. Подсчитать сколько букв «о» в тексте

USES Crt;

VAR

A: STRING [255]; KB N, I: BYTE;

BEGIN

ClrScr;

Write('Введите тест '); ReadLn(A);

N:=Length(A);

KB:=0;

FOR I:=1 TO N DO

IF (A[I]=’o’) OR (A[I]=’O’) THEN KB:=KB+1;

WritLn(‘ Количество букв «о» =’,KB);

END.

Задача 2. Определить среднюю длину слова в тексте.

USES Crt;

VAR

A: STRING [240]; KS, KB, N, I: INTEGER;

BEGIN

ClrScr;

Write('Введите тест '); ReadLn(A);

N:=Length(A);

KS:=0; KB:=0;

FOR I:=1 TO N DO

IF (A[I]=' ') OR (A[I]=',') OR (A[I]='.') THEN KS:=KS+1 ELSE KB:=KB+1;

IF (A[N]<>' ') AND (A[N]<>'.') AND (A[N]<>',') THEN KS:=KS+1;

WriteLn('Средняя длина слова = ',KB/KS:3:0);

END.

Задача 3. Подсчитать, сколько слов в тексте начинается на букву «а» (слова разделены пробелом).

USES Crt;

VAR

A: STRING [240]; KS, N, I: INTEGER;

BEGIN

ClrScr;

Write('Введите тест '); ReadLn(A);

N:=Length(A);

IF A[1]=’А’ THEN KS:=1 ELSE KS:=0;

FOR I:=2 THEN N

IF (COPY(A,I,2) =’ а’) OR (COPY(A,I,2)=’ А’ THEN KS:=KS+1;

WriteLn(‘Количество слов, начинающихся на букву «а» =’,KS);

END.

.....................................................................................................................................

Практические задания

.....................................................................................................................................

1. Подсчитать, сколько слов в тексте оканчивается на букву “а”.

2. Подсчитать, сколько букв “т” в последнем предложении.

3. Подсчитать, сколько раз встречается в тексте слово “кот”.

Удаление символов

Задача 1. Удалить лишние пробелы между словами, оставив по одному.

USES Crt;

VAR

S:STRING[255]; I,K: INTEGER;

BEGIN

ClrScr;

Write('Введите текст '); ReadLn(S);

I:=1;

While(I<=Length(s)) DO Begin

IF Copy(S,I,2)=' ' THEN Begin

Delete (S,I,1);

I:=I-1;

End;

I:=I+1;

End;

Write(S);

END.

Задача 2. В тексте удалить все слова, заканчивающиеся на букву "e".

USES Crt;

VAR

S: STRING [250]; PS,N,I: INTEGER;

BEGIN

ClrScr;

Write('Введите текст '); ReadLn(S);

S:= ' '+S+' ';

FOR I:=1 TO Length(S) DO Begin

IF S[I]=' ' THEN Begin

PS:=I-1;

IF S[PS]='E' THEN WHILE(S[PS]<>' ') DO Begin

Delete(S,PS,1); PS:=PS-1;

End;

End;

End;

WriteLn(‘ Измененный текст:’); Write(S);

END.

Задача 3. Из текста удалить каждое второе слово. Слова разделены пробелом.

USES Crt;

Type MAS= STRING [20];

VAR

A: MAS;

I,K: INTEGER;

BEGIN

ClrScr;

Write('Введите текст '); ReadLn(A);

i:=1;

While (I<=Length(A)) DO Begin

IF A[I]=' ' THEN Begin

K:=I+1;

While (A[K]<>' ') DO Delete(A,K,1);

I:=I+1;

End;

I:=I+1;

End;

WriteLn(‘Измененный текст:’); Write(A);

END.

.....................................................................................................................................

Практические задания

.....................................................................................................................................

1. В третьем предложении текста удалить все слова «мир»

2. Из строки символов удалить все гласные буквы

3. Из строки символов удалить заданное слово

4. Удалить все символы «!», следующие за вторым предложением







Дата добавления: 2015-09-19; просмотров: 836. Нарушение авторских прав; Мы поможем в написании вашей работы!




Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...


Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Значення творчості Г.Сковороди для розвитку української культури Важливий внесок в історію всієї духовної культури українського народу та її барокової літературно-філософської традиції зробив, зокрема, Григорій Савич Сковорода (1722—1794 pp...

Постинъекционные осложнения, оказать необходимую помощь пациенту I.ОСЛОЖНЕНИЕ: Инфильтрат (уплотнение). II.ПРИЗНАКИ ОСЛОЖНЕНИЯ: Уплотнение...

Приготовление дезинфицирующего рабочего раствора хлорамина Задача: рассчитать необходимое количество порошка хлорамина для приготовления 5-ти литров 3% раствора...

Тема 5. Организационная структура управления гостиницей 1. Виды организационно – управленческих структур. 2. Организационно – управленческая структура современного ТГК...

Методы прогнозирования национальной экономики, их особенности, классификация В настоящее время по оценке специалистов насчитывается свыше 150 различных методов прогнозирования, но на практике, в качестве основных используется около 20 методов...

Методы анализа финансово-хозяйственной деятельности предприятия   Содержанием анализа финансово-хозяйственной деятельности предприятия является глубокое и всестороннее изучение экономической информации о функционировании анализируемого субъекта хозяйствования с целью принятия оптимальных управленческих...

Studopedia.info - Студопедия - 2014-2025 год . (0.013 сек.) русская версия | украинская версия