Определить k – количество «особых» элементов массива - Turbo Pascal
Формулировка задачи:
Добрый день всем! помогите мне пожалуйста решить зэти три задачи на языке паскаль!!!
1 задача
var k : integer;
c : array[1..n, 1..m] of integer;
Определить k – количество «особых» элементов массива c, считая элемент «особым», если в его строке слева от него находятся элементы, меньшие его, а справа – большие.
Указание: определите булевскую функцию f(x), которая проверяет, является ли элемент x «особым».
Задача 3
Для заданных трех строк S1, S2 и S3 напечатать те латинские буквы, которые входят только в одну из этих строк.
Указание: например, ввели строки S1 – ‘asfgsas’, S2 – ‘qweasdyu’, S3 – ‘mnbqwef’. Ответом должно служить сле-дующее: ‘Только в первую строку входят буквы – g’, ‘Только во вторую строку входят буквы – dyu’, ‘Только в третью строку входят буквы – mnb’.
Задача 4
Дана строка. В алфавитном порядке напечатайте (по разу) все малые латинские буквы, входящие в эту строку ровно один раз.
Указание: решение задачи простое, если вы будете использовать множества.
Решение задачи: «Определить k – количество «особых» элементов массива»
textual
Листинг программы
uses crt; const nmax=20; type mas=array[1..nmax] of integer;{1 строка матрицы} matr=array[1..nmax] of mas;{матрица=массив строк} function F(x:byte;a:mas;n:byte):boolean; var i,j:byte; b:boolean; begin b:=true; for j:=1 to x-1 do{проверяем слева} if a[j]>=a[x] then b:=false; for j:=x+1 to n do{проверяем справа} if a[j]<=a[x] then b:=false; F:=b; end; var a:matr; n,m,i,j:byte; k:integer; begin clrscr; randomize; repeat write('Количество строк до ',nmax,' n='); readln(n); until n in [1..nmax]; repeat write('Количество столбцов до ',nmax,' m='); readln(m); until m in [1..nmax]; writeln('Исходная матрица:'); for i:=1 to n do begin for j:=1 to m do begin a[i][j]:=random(20); write(a[i][j]:3); end; writeln; end; writeln; k:=0; for i:=1 to n do for j:=2 to m-1 do if F(j,a[i],m) then k:=k+1;{считаем элементы} write('Количество особых элементов=',k); readln end.
Объяснение кода листинга программы
- Создается функция F, которая принимает три параметра: x - номер строки, a - массив строк, n - количество строк. Внутри функции происходит проверка: если значение элемента a[j] больше значения элемента a[x], то переменная b устанавливается в false (ложь). Если значение элемента a[j] меньше или равно значению элемента a[x], то переменная b устанавливается в true (истина). В конце функция возвращает значение переменной b.
- Создается переменная a типа mas (массив целых чисел) и инициализируется случайными числами от 0 до 20.
- Задаются переменные n и m, которые представляют количество строк и столбцов соответственно.
- Выводится запрос на ввод количества строк и столбцов.
- Выводится исходная матрица с помощью цикла for.
- Задается переменная k, которая будет хранить количество особых элементов.
- Используется вложенный цикл for для проверки каждого элемента матрицы. Если элемент находится в нужном месте (строка x и столбец j), то переменная k увеличивается на 1.
- Выводится количество особых элементов.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д