"Попытка присвоить переменной типа integer выражение типа char" - PascalABC.NET
Формулировка задачи:
в общем тут в конце нужно присвоить не "66666" а "звездочки" пишет что: попытка присвоить переменной типа интеджер выражение типа чар
как сделать?
Решение задачи: «"Попытка присвоить переменной типа integer выражение типа char"»
textual
Листинг программы
program laba1; var x:array [1..10,1..10] of integer; i, j : integer; // Счётчики строк и столбцов. N, M : integer; // Число для поиска. var l: array[1..4] of integer; function GetSum(sX,eX,sY,eY: integer): integer; var r,i,j: integer; begin r := 0; for i:=sY to eY do for j:=sX to eX do Inc(r , x[i,j]); GetSum := r; end; begin // Формирование матрицы. for i:=1 to 10 do for j:=1 to 10 do X[i,j]:= random(100); // Печать матрицы. writeln; writeln('Сгенерированная матрица:'); for i:=1 to 10 do begin for j:=1 to 10 do write(X[i,j]:5); writeln; end; // Запрос и ввод числа для поиска. writeln; writeln('Введите 2 целых положительных числа'); writeln('для поиска строк и столбцов матрицы'); write ('N='); readln (N); write ('M='); read (M); // Проверка корректности введённого числа. if (N>i)or(M>j)or(N<1)or(M<1) then begin // Сообщение пользователю и завершение программы. writeln; writeln('Введённое число некорректно.'); writeln('Программа завершает свою работу.'); exit; end; for i:=1 to 10 do begin writeln; for j:=1 to 10 do begin if ( i = N ) then write('***':5) else if ( j = M ) then write('***':5) else write(X[i,j]:5); end; end; l[1] := GetSum(1 , M-1 , 1 , N-1); l[2] := GetSum(M+1 , 10 , 1 , N-1); l[3] := GetSum(1 , M-1 , N+1 , 10 ); l[4] := GetSum(M+1 , 10 , N+1 , 10 ); writeln; writeln('Сумма элементов верхней левой области равна ' , l[1]); writeln('Сумма элементов верхней правой области равна ' , l[2]); writeln('Сумма элементов нижней левой области равна ' , l[3]); writeln('Сумма элементов нижней правой области равна ' , l[4]); end.
Объяснение кода листинга программы
- Объявление переменных и массивов:
- x: массив из 100 целых чисел, представляющий собой квадратную матрицу 10x10;
- i, j: счётчики строк и столбцов;
- N, M: числа для поиска;
- l: массив из 4 целых чисел, используемый для хранения сумм элементов различных областей матрицы.
- Определение функции GetSum:
- функция принимает четыре аргумента типа integer (sX, eX, sY, eY), которые определяют диапазон элементов матрицы для суммирования;
- внутри функции используются три вложенных цикла, которые суммируют все элементы в указанном диапазоне;
- значение суммы сохраняется в переменной r и возвращается из функции.
- Основной цикл программы:
- в первой части происходит заполнение матрицы случайными числами;
- во второй части программа запрашивает у пользователя два числа (N и M) и проверяет их корректность (не меньше 1 и не больше 10);
- если числа некорректны, программа выводит сообщение об ошибке и завершается;
- в третьей части программы выводятся элементы матрицы, помеченные звездочкой, если они соответствуют N и M;
- в четвёртой части программы вычисляются суммы элементов различных областей матрицы и сохраняются в переменной l;
- в пятой части программы выводятся суммы элементов различных областей матрицы. Код не содержит явных ошибок, но для его корректной работы необходимо убедиться, что пользователь вводит два корректных числа (больше или равных 1 и меньше или равных 10).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д