CARVIEW |
Select Language
HTTP/2 200
date: Sat, 11 Oct 2025 06:50:58 GMT
content-type: text/html; charset=UTF-8
server: cloudflare
x-frame-options: DENY
x-content-type-options: nosniff
x-xss-protection: 1;mode=block
vary: accept-encoding
cf-cache-status: DYNAMIC
content-encoding: gzip
set-cookie: _csrf-frontend=9d780efbe7c7a9b505f9bf90345212ff320b87f649275935eea00d6029228dfea%3A2%3A%7Bi%3A0%3Bs%3A14%3A%22_csrf-frontend%22%3Bi%3A1%3Bs%3A32%3A%22VAYkduQ2-B4rGf4x4KHg0uzIBJf3usku%22%3B%7D; HttpOnly; Path=/
cf-ray: 98cc6d2078ddc7cf-BLR
Program MatrixRowSum;Uses System.SysUtils;Type TMatrix = Array - Pastebin.com
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Program MatrixRowSum;
- Uses
- System.SysUtils;
- Type
- TMatrix = Array Of Array Of Real;
- Var
- N: Integer;
- Matrix: TMatrix;
- Function GetNum(Min, Max: Integer): Integer;
- Var
- Num: Integer;
- IsCorrect: Boolean;
- Begin
- Repeat
- IsCorrect := True;
- Try
- Readln(Num);
- Except
- Write('Некорректный ввод! Введите значение еще раз: ');
- IsCorrect := False;
- End;
- If IsCorrect And ((Num < Min) Or (Num > Max)) Then
- Begin
- Write('Недопустимое значение! Введите значение еще раз: ');
- IsCorrect := False;
- End;
- Until IsCorrect;
- GetNum := Num;
- End;
- Function CheckFile(Path: String; Var InputInt: Integer): Boolean;
- Var
- IsFileCorrect: Boolean;
- InputFile: TextFile;
- Const
- MIN_N = 1;
- MAX_N = 10;
- Begin
- IsFileCorrect := True;
- If FileExists(Path) Then
- Begin
- AssignFile(InputFile, Path);
- Try
- Reset(InputFile);
- Except
- Writeln('Не удалось открыть файл!');
- IsFileCorrect := False;
- End;
- If IsFileCorrect Then
- Begin
- Try
- Read(InputFile, InputInt);
- Except
- Writeln('Данные в файле представлены в неправильном формате!');
- IsFileCorrect := False;
- End;
- End;
- If IsFileCorrect And Not(EoF(InputFile)) Then
- Begin
- Writeln('Данные в файле представлены в неправильном формате!');
- IsFileCorrect := False;
- End;
- If IsFileCorrect And ((InputInt < MIN_N) Or (InputInt > MAX_N)) Then
- Begin
- Writeln('Значение выходит за возможные пределы!');
- IsFileCorrect := False;
- End;
- Try
- CloseFile(InputFile);
- Except
- End;
- End
- Else
- Begin
- Writeln('Файла по данному пути не существует!');
- IsFileCorrect := False;
- End;
- CheckFile := IsFileCorrect;
- End;
- Function InputN(): Integer;
- Var
- Choice, Num: Integer;
- PathFile: String;
- IsInputFromFileSuccessfully: Boolean;
- Const
- MIN_N = 1;
- MAX_N = 10;
- Begin
- Write('Выберите вариант ввода:', #10, '1. Ввод из консоли', #10, '2. Ввод из файла',
- #10, 'Использовать вариант: ');
- Choice := GetNum(1, 2);
- If Choice = 1 Then
- Begin
- Writeln('Введите порядок матрицы N от ', MIN_N, ' до ', MAX_N, ': ');
- Num := GetNum(MIN_N, MAX_N);
- End
- Else
- Begin
- Writeln('Файл должен иметь следующий формат:');
- Writeln('1-я строка — порядок матрицы N (от ', MIN_N, ' до ', MAX_N, ')');
- Writeln('Следующие строки — элементы матрицы построчно.');
- Repeat
- Write('Введите путь к файлу с его расширением: ');
- Readln(PathFile);
- IsInputFromFileSuccessfully := CheckFile(PathFile, Num);
- Until IsInputFromFileSuccessfully;
- End;
- InputN := Num;
- End;
- Procedure FillMatrixFromKeyboard(Var Matrix: TMatrix; N: Integer);
- Var
- I, J: Integer;
- IsCorrect: Boolean;
- Begin
- SetLength(Matrix, N, N);
- For I := 0 To High(Matrix) Do
- Begin
- For J := 0 To High(Matrix) Do
- Begin
- Write('Введите элемент [', I + 1, ',', J + 1, ']: ');
- Repeat
- IsCorrect := True;
- Try
- Readln(Matrix[I][J]);
- Except
- IsCorrect := False;
- End;
- If (Not IsCorrect) Or (Matrix[I][J] < -10000) Or (Matrix[I][J] > 10000) Then
- Begin
- IsCorrect := False;
- Writeln('Файл содержит числа, выходящие за пределы ограничения, или некорректное значение');
- End;
- Until IsCorrect;
- End;
- End;
- End;
- Procedure FillMatrixFromFile(Var Matrix: TMatrix; N: Integer; FilePath: String);
- Var
- InputFile: TextFile;
- I, J, Correct: Integer;
- IsCorrect : Boolean;
- Begin
- SetLength(Matrix, N, N);
- AssignFile(InputFile, FilePath);
- Reset(InputFile);
- For I := 0 To High(Matrix) Do
- For J := 0 To High(Matrix) Do
- Begin
- Repeat
- IsCorrect := True;
- Try
- Read(InputFile, Matrix[I][J]);
- Except
- IsCorrect := False;
- End;
- If (Not IsCorrect) Or (Matrix[I,J] < -10000) Or (Matrix[I,J] > 10000) Then
- Begin
- IsCorrect := False;
- Writeln('Неверный ввод данных! Исправьте элемент матрицы с адресом ', I+1, ' и ', J+1, ' и перезапустите программу. Файл содержит числа, выходящие за пределы ограничения, или некорректное значение');
- Correct := 0;
- While (Correct = 0) Do
- Readln;
- End;
- Until IsCorrect;
- End;
- CloseFile(InputFile);
- End;
- Function CountRowsWithSumGreaterThanOne(Const Matrix: TMatrix; N: Integer): Integer;
- Var
- I, J: Integer;
- Sum: Real;
- Begin
- Result := 0;
- For I := 0 To High(Matrix) Do
- Begin
- Sum := 0;
- For J := 0 To High(Matrix) Do
- Sum := Sum + Abs(Matrix[I][J]);
- If Sum > 1 Then
- Inc(Result);
- End;
- End;
- Procedure OutputMatrix(Const Matrix: TMatrix; N: Integer);
- Var
- I, J: Integer;
- Begin
- Writeln('Матрица:');
- For I := 0 To High(Matrix) Do
- Begin
- For J := 0 To High(Matrix) Do
- Begin
- Write(Matrix[I][J]:8:3);
- End;
- Writeln;
- End;
- End;
- Procedure OutputResult(Const Matrix: TMatrix; N, Count: Integer);
- Var
- OutputFile: TextFile;
- Path: String;
- I, J: Integer;
- Begin
- Write('Введите путь к выходному файлу: ');
- Readln(Path);
- AssignFile(OutputFile, Path);
- Rewrite(OutputFile);
- Writeln(OutputFile, 'Матрица:');
- For I := 0 To High(Matrix) Do
- Begin
- For J := 0 To High(Matrix) Do
- Write(OutputFile, Matrix[I][J]:8:3);
- Writeln(OutputFile);
- End;
- Writeln(OutputFile, 'Количество строк с суммой модулей элементов больше 1: ', Count);
- CloseFile(OutputFile);
- Writeln('Результат и матрица успешно записаны в файл ', Path);
- End;
- Procedure ProcessMatrixTask;
- Var
- N, Count, InputChoice: Integer;
- Matrix: TMatrix;
- FilePath: String;
- Begin
- Writeln('Данная программа подсчитает количество строк в матрице, сумма модулей элементов которых больше 1.');
- N := InputN;
- Writeln('Выберите способ заполнения матрицы:', #10, '1. Заполнение из консоли', #10, '2. Заполнение из файла');
- InputChoice := GetNum(1, 2);
- If InputChoice = 1 Then
- FillMatrixFromKeyboard(Matrix, N)
- Else
- Begin
- Write('Введите путь к файлу с элементами матрицы(Должен содержать числа от -10 000 до 10 000): ');
- Readln(FilePath);
- FillMatrixFromFile(Matrix, N, FilePath);
- End;
- OutputMatrix(Matrix, N);
- Count := CountRowsWithSumGreaterThanOne(Matrix, N);
- Writeln('Количество строк с суммой модулей элементов больше 1: ', Count);
- OutputResult(Matrix, N, Count);
- End;
- Begin
- ProcessMatrixTask;
- Readln;
- End.
Advertisement
Add Comment
Please, Sign In to add comment
-
⭐⭐⭐Exploit 500$ in 15 Minutes⭐⭐
Java | 3 sec ago | 0.10 KB
-
⭐⭐⭐ G2A Payment Exploit ✅ NEVER SEEN BEFORE ⭐...
JavaScript | 8 sec ago | 0.24 KB
-
⭐✅ MAKE $2500 IN 15 MIN ✅ NEVER SEEN BEFORE ⭐...
JavaScript | 18 sec ago | 0.24 KB
-
⭐ ✅ Free Products Method ✅ ✅ NEVER SEEN BEFOR...
JavaScript | 28 sec ago | 0.24 KB
-
⭐✅ Swapzone Glitch ✅ Working⭐⭐⭐ M
JavaScript | 35 sec ago | 0.24 KB
-
⭐ G2A Bug ⭐ (Get more on BTC swaps) ✅ NEVER S...
JavaScript | 37 sec ago | 0.24 KB
-
✅ Make $2500 in 20 minutes⭐⭐⭐ H
JavaScript | 46 sec ago | 0.24 KB
-
⭐✅ Jack's Profit Method ✅ NEVER SEEN BEF...
JavaScript | 46 sec ago | 0.24 KB
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand