Вопрос задан 14.08.2018 в 06:43. Предмет Информатика. Спрашивает Васильева Катя.

Написать программы через процедуры. 1. Описать процедуру, которая возвращает среднее арифметическое

значение нечетных цифр, входящих в запись числа типа LongInt. 2. Использовать подпрограммы (ввода, вывода, обрабатывающей части). Дан массив целых чисел А[M,N], где M,N<=10. Удалить строку с номером К и столбец с номером L
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Батин Олег.
Программы для задач 1 и 2 - в прилагаемом файле

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

1. Описание процедуры, которая возвращает среднее арифметическое значение нечетных цифр, входящих в запись числа типа LongInt:

```pascal procedure CalculateAverageOddDigits(number: LongInt; var average: Real); var sum, count: Integer; digit: Integer; begin sum := 0; count := 0; // Перебираем все цифры числа while number > 0 do begin digit := number mod 10; // Если цифра нечетная, добавляем ее к сумме и увеличиваем счетчик if digit mod 2 <> 0 then begin sum := sum + digit; count := count + 1; end; number := number div 10; end; // Вычисляем среднее арифметическое if count > 0 then average := sum / count else average := 0; end; ```

Пример использования:

```pascal var number: LongInt; average: Real; begin number := 123456789; CalculateAverageOddDigits(number, average); writeln('Среднее арифметическое нечетных цифр числа: ', average:0:2); end; ```

2. Использование подпрограммы для удаления строки с номером К и столбца с номером L в двумерном массиве целых чисел А[M,N]:

```pascal const M = 10; N = 10;

type Matrix = array[1..M, 1..N] of Integer;

procedure DeleteRowAndColumn(var matrix: Matrix; K, L: Integer); var i, j: Integer; begin // Сдвигаем строки выше удаляемой на одну позицию вниз for i := K to M - 1 do for j := 1 to N do matrix[i, j] := matrix[i + 1, j]; // Сдвигаем столбцы правее удаляемого на одну позицию влево for i := 1 to M do for j := L to N - 1 do matrix[i, j] := matrix[i, j + 1]; end;

var matrix: Matrix; K, L: Integer; i, j: Integer; begin // Заполнение матрицы целыми числами // Ввод номера строки и столбца для удаления writeln('Введите номер строки для удаления (1-', M, '): '); readln(K); writeln('Введите номер столбца для удаления (1-', N, '): '); readln(L); // Проверка валидности номеров строки и столбца if (K >= 1) and (K <= M) and (L >= 1) and (L <= N) then begin DeleteRowAndColumn(matrix, K, L); // Вывод измененной матрицы for i := 1 to M - 1 do begin for j := 1 to N - 1 do write(matrix[i, j]:4); writeln; end; end else writeln('Номер строки или столбца некорректный.'); end; ```

Пример использования:

```pascal var matrix: Matrix; K, L: Integer; i, j: Integer; begin // Заполнение матрицы целыми числами // Ввод номера строки и столбца для удаления writeln('Введите номер строки для удаления (1-', M, '): '); readln(K); writeln('Введите номер столбца для удаления (1-', N, '): '); readln(L); // Проверка валидности номеров строки и столбца if (K >= 1) and (K <= M) and (L >= 1) and (L <= N) then begin DeleteRowAndColumn(matrix, K, L); // Вывод измененной матрицы for i := 1 to M - 1 do begin for j := 1 to N - 1 do write(matrix[i, j]:4); writeln; end; end else writeln('Номер строки или столбца некорректный.'); end; ```

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос