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

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

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





Задача 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 кг мяса...

Меры безопасности при обращении с оружием и боеприпасами 64. Получение (сдача) оружия и боеприпасов для проведения стрельб осуществляется в установленном порядке[1]. 65. Безопасность при проведении стрельб обеспечивается...

Весы настольные циферблатные Весы настольные циферблатные РН-10Ц13 (рис.3.1) выпускаются с наибольшими пределами взвешивания 2...

Хронометражно-табличная методика определения суточного расхода энергии студента Цель: познакомиться с хронометражно-табличным методом опреде­ления суточного расхода энергии...

Растягивание костей и хрящей. Данные способы применимы в случае закрытых зон роста. Врачи-хирурги выяснили...

ФАКТОРЫ, ВЛИЯЮЩИЕ НА ИЗНОС ДЕТАЛЕЙ, И МЕТОДЫ СНИЖЕНИИ СКОРОСТИ ИЗНАШИВАНИЯ Кроме названных причин разрушений и износов, знание которых можно использовать в системе технического обслуживания и ремонта машин для повышения их долговечности, немаловажное значение имеют знания о причинах разрушения деталей в результате старения...

Различие эмпиризма и рационализма Родоначальником эмпиризма стал английский философ Ф. Бэкон. Основной тезис эмпиризма гласит: в разуме нет ничего такого...

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