Скачать презентацию Задача 1 Написать программу с использованием подпрограммы для Скачать презентацию Задача 1 Написать программу с использованием подпрограммы для

сем 2_5_.ppt

  • Количество слайдов: 11

Задача 1. Написать программу с использованием подпрограммы для вычисления одномерного массива, содержащего заданное число Задача 1. Написать программу с использованием подпрограммы для вычисления одномерного массива, содержащего заданное число наименьших элементов среди элементов квадратной целочисленной матрицы, расположенных ниже главной диагонали. A[1: n, 1: n], k=3 B[1: k] 1 2 3 5 Maxint 0 4 7 -9 0 Maxint 0 2 3 0 2 1 2 3 4 1 1 2 5 3

Const lmax = 100; Type matr = array [1. . lmax, 1. . lmax] Const lmax = 100; Type matr = array [1. . lmax, 1. . lmax] of integer; mass = array [1. . lmax] of integer; Var A: matr; B: mass; n, k: integer; Procedure Input_Matrix(var n: integer; var A: matr); Var i, j: integer; Begin writeln(‘Введите размер матрицы’); repeat readln(n); until (n > 0) and (n <= lmax);

writeln(‘Введите матрицу размером ’, n, ‘на ’, n); for i : = 1 to writeln(‘Введите матрицу размером ’, n, ‘на ’, n); for i : = 1 to n do for j : = 1 to n do read(a[i, j]); End; Procedure Output_Array(var B: mass; k: integer); Var i: integer; Begin writeln(‘Получен массив ’); for i : = 1 to k do write(B[i]: 3); End; Procedure Make_Array(var A: matr; n, k: integer; var B: mass);

Var i, j, maxn, L: integer; Begin for i : = 1 to k Var i, j, maxn, L: integer; Begin for i : = 1 to k do B[i] : = maxint; maxn : = 1; for i : = 2 to n do for j : = 1 to i – 1 do if A[i, j] < B[maxn] then begin B[maxn] : = A[i, j]; maxn : = 1; for L : = 2 to k do if B[L] > B[maxn] then maxn : = L; end;

Begin Input_Matrix(n, A); Writeln(‘Введите k от 1 до’, (n*n – n)/2); repeat read(k); until Begin Input_Matrix(n, A); Writeln(‘Введите k от 1 до’, (n*n – n)/2); repeat read(k); until (k > 0) and (k <= (n*n -n)/2); Make_Array(A, n, k, B); Output_Array(B, k); End.

Обработка символьных строк Задача 1. Дан массив символьных строк. Количество строк известно. Найти символ Обработка символьных строк Задача 1. Дан массив символьных строк. Количество строк известно. Найти символ с минимальным кодом и определить его положение ( номер строки и столбца) в массиве. Обозначим Ni- номер строки Nj – номер столбца, где расположен искомый символ. Ord(c) – код символа c; (order) Chr(k) – символ с кодом k (character).

Program min_code; Type mass_st = array[1. . 10] of string; Var s: mass_st; N, Program min_code; Type mass_st = array[1. . 10] of string; Var s: mass_st; N, i, j, ni, nj : integer; Begin Writeln(‘Введите количество строк’); Repeat Readln(n); Until (n>0) and (n<=10); Writeln(‘Введите ’, n, ’ строк’);

For i: =1 to n do Readln(s[i]); Ni: =1; Nj: =1; For i: =1 For i: =1 to n do Readln(s[i]); Ni: =1; Nj: =1; For i: =1 to n do for j: =1 to length(s[i]) do if ord(s[i][j])

Задача 2. Дана символьная строка. Заменить в ней каждую русскую букву на две такие Задача 2. Дана символьная строка. Заменить в ней каждую русскую букву на две такие же буквы. S Chr(4) 1 я 2 ю 0 1 2 3 4 Символы, расположенные после русской буквы, двигаем вправо на 1 (начиная с последнего символа). Chr(6) 1 0 1 я я 2 ю ю 2 3 4 5 6

Program nomer 2; Var s, rus: string; I, j, k: integer; Flag: boolean; Begin Program nomer 2; Var s, rus: string; I, j, k: integer; Flag: boolean; Begin Writeln(‘Введите строку’); Readln(s); Flag: =false; i: =1; Rus: =‘йцукенгшщзхъфывапролджэячсмитьбюёЙ ЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБ ЮЁ’; K: =length(s); While i<=k do

If pos(s[i], rus) > 0 then Begin Flag: =true; For j: =k downto i If pos(s[i], rus) > 0 then Begin Flag: =true; For j: =k downto i do S[j+1]: =s[j]; K: =k+1; I: =i+2 End Else i: =i+1; Setlength(s, k); If flag=false then writeln(‘В строке нет русских букв’) Else writeln(‘Измененная строка ‘, s); End.