Код:
using System;using System.Linq;namespace Mtrx{ static class Program { static void Main(string[] args) { var matrix1 = new double[][] { new [] {1.0, 2}, new [] {3.0, 4} }; var matrix2 = new double[][] { new [] {1.0, 2}, new [] {3.0, 4} }; var A = MMult(matrix1, matrix2); if (!A.Success) { Console.WriteLine(A.Error); return; } Print2DMatrix(A.Data); } private static Result<double[][]> MMult(double[][] A, double[][] B) { if (A[0].Length != B.Length) return Result<double[][]>.GetError("It's imposable to multiply this matrix because of their dimensions"); var result = A.Select( (row, rowIndex) => B[0].Select((_, columnIndex) => B.Select(__ => __[columnIndex]) .Zip(row, (rowCell, columnCell) => rowCell * columnCell).Sum() ).ToArray() ).ToArray(); return Result<double[][]>.GetResult(result); } private static void Print2DMatrix<T>(T[][] matrix) { for (var i = 0; i < matrix.Length; ++i) { for (var j = 0; j < matrix[i].Length; ++j) { Console.Write(matrix[j][i]); Console.Write(" "); } Console.WriteLine(); } } } internal class Result<T> { public T Data { get; } public string Error { get; } public bool Success => Error is null; public static Result<T> GetError(string error) { return new Result<T>(default, error); } public static Result<T> GetResult(T result) { return new Result<T>(result); } private Result(T data, string error = null) { Data = data; Error = error; } }}ответка
Задайте свой вопрос и получите ответ от профессионального преподавателя. Выберите лучший ответ.
Задать вопрос
Все вопросы
Андрей
Информатика и ИКТ 5 - 9 классы
23.04.2020 13:26
Дано целое число. Если оно является положительным, то прибавить к нему 1 ; если отрицательным, то вычесть из него 4; если нулевым, то заменить его на 18. Вывести полученное число.
1)program zadaca;
var
a: integer;
begin
writeln('Введи число a');
readln(a);
if a > =0 then
if a=0 then a:=18 else a:=a+1
else a:=a-4;
end.
2)program zadaca;
var
begin
writeln('Введи число a');
readln(a);
if a > =0 then
if a=0 then a:=18 else a:=a+1
else a:=a-4;
writeln(a);
readln;
end.
3)program zadaca;
var
a: integer;
begin
writeln('Введи число a');
readln(a);
if a > =0 then
if a=0 then a:=18 else a:=a+1
else a:=a-4;
writeln(a);
readln;
end.
не 1 или (не 0 или 1 и 0) = 1
1 и не 1 и 1 или 0 = 0
1 и (1 или не 0 и не 1) = 1
1 и 0 или не (1 или 0) = 0
не (0 или 1 и не 0 или 0) = 0
Объяснение:
не 1 или (не 0 или 1 и 0) = 0 или (1 или 0) = 0 или 1 = 1
1 и не 1 и 1 или 0 = 1 и 0 и 1 или 0 = 0 и 1 или 0 = 0 или 0 = 0
1 и (1 или не 0 и не 1) = 1 и (1 или 1 и 0) = 1 и (1 или 0) = 1 и 1 = 1
1 и 0 или не (1 или 0) = 0 или не 1 = 0 или 0 = 0
не (0 или 1 и не 0 или 0) = не (0 или 1 и 1 или 0) = не (0 или 1 или 0) = не (1 или 0) = не 1 = 0