Прямоугольная матрица си шарп

Операции с прямоугольной матрицей

Задание 1. Создайте прямоугольную матрицу. Количество строк и столбцов
запрашивается с клавиатуры.
Выполнить с введенной матрицей следующие задания:
1. Вычислить произведение минимального и максимального члена массива.
2. Определить индексы минимального и максимально элементов массива.
3. Вычислить произведение отрицательных элементов в массиве.
4. Вычислить количество элементов массива, которые лежат в диапазоне от А до В.
5. Вычислить количество положительных элементов и их произведение.
6. Поменяйте местами k и l строки.
7. Поменяйте местами k и l столбцы.
8. Определите количество строк, содержащих хотя бы один нулевой элемент.

Ввести класс для работы с прямоугольной матрицей, реализовать операции сложения и умножения матриц
Кто-нибудь подскажите, пожалуйста написать программу в С++. Ввести класс для работы с.

Действия с прямоугольной матрицей
Здравствуйте уважаемые программисты. Помогите решить задачку или натолкнуть на правильный алгоритм.

Работа с прямоугольной матрицей
дана целочисленная прямоугольная матрица. определить: 1) количество строк, не содержащих ни одного.

Лучший ответ

Сообщение было отмечено piton290796 как решение

Решение

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
using System; namespace RectangularMatrix { class Program { static void Main() { int[,] array = Matrix.CreateMatrix(); // Инициализация массива Console.WriteLine("\nЗаданный массив:"); Matrix.Print(array); // Вывод созданного массива на консоль Matrix.ProductMinMax(array); // 1. Вывод произведения минимального и максимального членов массива Matrix.DefineMinIndex(array); // 2.1. Вывод индекса минимального элемента массива Matrix.DefineMaxIndex(array); // 2.2. Вывод индекса максимального элемента массива Matrix.ProductNegativeElements(array); // 3. Вывод произведения отрицательных элементов в массиве Matrix.RangeCalculation(array); // 4. Вывод количества элементов массива, которые лежат в диапазоне от А до В. Matrix.CalculatPositiveElements(array); // 5. Вывод количества положительных элементов и их произведения Matrix.SwapLines(array); // 6. Меняем местами k и l строки. Matrix.SwapColumns(array); // 7. Меняем местами k и l столбцы. Matrix.ZeroSearch(array); // 8. Вывод количества строк, содержащих хотя бы один нулевой элемент Console.ReadLine(); } } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206
using System; namespace RectangularMatrix { static class Matrix { static int i, j; // Счетчики циклов static int min, max; // Минимальный и максимальный член массива static Random rn = new Random(); // Для заполнения массива рандомными значениями // Метод для создания массива public static int[,] CreateMatrix() { Console.Write("Введите количество строк матрицы: "); int amtLines = int.Parse(Console.ReadLine()); Console.Write("Введите количество столбцов матрицы: "); int amtColumns = int.Parse(Console.ReadLine()); int[,] array = new int[amtLines, amtColumns]; for (i = 0; i  amtLines; i++) { for (j = 0; j  amtColumns; j++) { array[i, j] = rn.Next(-20, 20); } } return array; } // Метод для вывода массива на экран public static void Print(int[,] array) { for (int i = 0; i  array.GetLength(0); i++) { for (int j = 0; j  array.GetLength(1); j++) { Console.Write($" "); } Console.WriteLine(); } } // 1. Вычислить произведение минимального и максимального члена массива. public static void ProductMinMax(int[,] array) { min = array[0, 0]; max = array[0, 0]; for (i = 0; i  array.GetLength(0); i++) { for (int j = 0; j  array.GetLength(1); j++) { if (array[i, j]  min) { min = array[i, j]; } if (array[i, j] > max) { max = array[i, j]; } } } Console.WriteLine($"\nПроизведение мин. и макс. члена массива: \n"); } // 2.1. Определить индекс минимального элемента массива. public static void DefineMinIndex(int[,] array) { for (i = 0; i  array.GetLength(0); i++) { for (j = 0; j  array.GetLength(1); j++) { if (array[i, j].Equals(min)) { Console.WriteLine($"Индекс минимального элемента массива: [,]"); } } } } // 2.2. Определить индекс максимального элемента массива. public static void DefineMaxIndex(int[,] array) { for (i = 0; i  array.GetLength(0); i++) { for (j = 0; j  array.GetLength(1); j++) { if (array[i, j].Equals(max)) { Console.WriteLine($"Индекс максимального элемента массива: [,]"); } } } } // 3. Вычислить произведение отрицательных элементов в массиве. public static void ProductNegativeElements(int[,] array) { long productNegEl = 1; // Произведение отрицательных элементов в массиве for (i = 0; i  array.GetLength(0); i++) { for (int j = 0; j  array.GetLength(1); j++) { if (array[i, j]  0) { productNegEl *= array[i, j]; } } } // Проверка на отсутствие отрицательных элементов в массиве if (productNegEl == 1) Console.WriteLine("\nОтрицательные элементы отсутствуют!\nВычислить произведение отрицательных элементов в массиве нет возможности."); else Console.WriteLine($"\nПроизведение отрицательных элементов в массиве: "); } // 4. Вычислить количество элементов массива, которые лежат в диапазоне от А до В. public static void RangeCalculation(int[,] array) { int a=(array.Length-(array.Length-1)); // Второй элемент массива int b=(array.Length-1); // Предпоследний элемент массива int quantityElements = b - a; Console.WriteLine($"Количество элементов массива, которые лежат в диапазоне от до : "); } // 5. Вычислить количество положительных элементов и их произведение. public static void CalculatPositiveElements(int[,] array) { int quantity = 0; // Количество положительных элементов int productPosEl = 1; // Произведение положительных элементов for (i = 0; i  array.GetLength(0); i++) { for (int j = 0; j  array.GetLength(1); j++) { if (array[i, j] >= 0) // Ноль - считаем положительным числом, иначе изменить 0 на 1 { quantity++; productPosEl *= array[i, j]; } } } Console.WriteLine($"\nКоличество положительных элементов массива: "); if (quantity != 0) Console.WriteLine($"Произведение положительных элементов массива: "); else { } } // 6. Поменяйте местами k и l строки. public static void SwapLines(int[,] array) { for (i = 0; i  array.GetLength(1); i++) { int temp = array[0, i]; // Записываем в temp элементы первой строки array[0, i] = array[array.GetLength(0) - 1, i]; // В первую строку записываем элементы последней строки array[array.GetLength(0) - 1, i] = temp; // В последнюю строку записываем элементы первой строки } Console.WriteLine("\nМеняем местами первую и последнюю строку:"); Print(array); } // 7. Поменяйте местами k и l столбцы. public static void SwapColumns(int[,] array) { for (i = 0; i  array.GetLength(0); i++) { int temp = array[i, 0]; // Записываем в temp элементы первого столбца array[i, 0] = array[i, array.GetLength(1) - 1]; // В первый столбец записываем элементы последнего столбца array[i, array.GetLength(1) - 1] = temp; // В последний столбец записываем элементы первого столбца } Console.WriteLine("\nМеняем местами первый и последний столбец:"); Print(array); } // 8. Определите количество строк, содержащих хотя бы один нулевой элемент. public static void ZeroSearch(int[,] array) { int quantityLines = 0; // Количество строк, содержащих хотя бы один нулевой элемент for (i = 0; i  array.GetLength(0); i++) { for (int j = 0; j  array.GetLength(1); j++) { if (array[i, j] == 0) { quantityLines++; break; } } } Console.WriteLine($"\nКоличество строк, содержащих хотя бы один нулевой элемент: "); } } }

Источник

Прямоугольная матрица — C# (217757)

Ребят помогите пожалуйста! Замаскируйте задание,так чтоб смысл остался тот же,а само оно немного отличалось! Пожалуйста. Задание:

using System; namespace Matrix < class InpOut < public static void Fill(int[,] mass, Random r, int a, int b) < r = new Random(); for (int j = 0; j < mass.GetLength(1); j++) for (int i = 0; i < mass.GetLength(0); i++) mass[i, j] = r.Next(a, b + 1); >public static void Print(int[,] mass) < for (int j = 0; j < mass.GetLength(1); j++, Console.WriteLine()) for (int i = 0; i < mass.GetLength(0); i++) Console.Write("", mass[i, j]); > > class NegativeElement < private static int NegativeCount(int[,] mass, int n) < int count = 0; for (int i = 0; i < mass.GetLength(0); i++) if (mass[i, n] < 0) count++; return count; >public static void ZeroSearch(int[,] mass) < int nc; bool flag; for (int j = 0; j < mass.GetLength(1); j++) < nc = 0; flag = false; for (int i = 0; i < mass.GetLength(0); i++) < if (mass[i, j] == 0) < flag = true; nc = NegativeCount(mass, j); break; >> if (!flag) Console.WriteLine("В строке № нулевых элементов нет", j + 1); else Console.WriteLine("Строка № содержит отрицательных элементов", j + 1, nc); > > > class SaddlePoints < private static int MinInLine(int[,] mass, int n) < int min = int.MaxValue; for (int i = 0; i < mass.GetLength(0); i++) if (mass[i, n] < min) min = mass[i, n]; return min; >private static int MaxInColumn(int[,] mass, int n) < int max = int.MinValue; for (int j = 0; j < mass.GetLength(1); j++) if (mass[n, j] >max) max = mass[n, j]; return max; > public static void SearchSaddlePoints(int[,] mass) < int localMin; int count = 0; for (int j = 0; j < mass.GetLength(1); j++) < localMin = MinInLine(mass, j); for (int i = 0; i < mass.GetLength(0); i++) < if (localMin == mass[i, j] && MaxInColumn(mass, i) == mass[i, j]) < count++; Console.WriteLine("Найдена седловая точка матрицы №: столбец - , строка - ", count, i + 1, j + 1); > > > if (count == 0) Console.WriteLine("Матрица не имеет седловых точек."); > > class MainClass < public static void Main() < int x, y; int[,] matr; Random r = new Random(); do Console.Write("Введите количество столбцов матрицы: "); while (!int.TryParse(Console.ReadLine(), out x) || x > >

Код к задаче: «Прямоугольная матрица»

using System; namespace Matrix < class InpOut< public static void Fill(int[,] mass, Random r, int a, int b)public static void Print(int[,] mass)", mass[i, j]);>> class NegativeElement < private static int NegativeCount(int[,] mass, int n) public static void ZeroSearch(int[,] mass)>if (!flag)Console.WriteLine("В строке № нулевых элементов нет", j + 1);else Console.WriteLine("Строка № содержит отрицательных элементов", j + 1, nc);>>> class SaddlePoints < private static int MinInLine(int[,] mass, int n)private static int MaxInColumn(int[,] mass, int n) max)max = mass[n, j];return max;> public static void SearchSaddlePoints(int[,] mass) >>if (count == 0)Console.WriteLine("Матрица не имеет седловых точек.");> > class MainClass< public static void Main()>>

Источник

Целочисленная прямоугольная матрица

Даровки всем.Пишу сюда,т.к уже мозги кипят.Помогите пожалуйста написать код по этому заданию(Дана целочисленная прямоугольная матрица. Определить:

• количество отрицательных элементов в тех строках, которые содержат хотя бы один нулевой элемент;

• номера строк и столбцов всех седловых точек матрицы) Я начинающий,поэтому извиняюсь за то,что прошу помощи у вас.Буду очень благодарен :3

Целочисленная прямоугольная матрица
Дана целочисленная прямоугольная матрица. Определить: а) сумму элементов в тех строках, которые.

Целочисленная прямоугольная матрица
Прошу помогите. Это новая тема с двухмерными массивами, я ещё на разобрался.

Дана целочисленная прямоугольная матрица
Дана целочисленная прямоугольная матрица. Определить количество столбцов, не содержащих ни одного.

Дана целочисленная прямоугольная матрица
Дана целочисленная прямоугольная матрица. Определить количество столбцов не содержащих ни одного.

Лучший ответ

Сообщение было отмечено RifzS как решение

Решение

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
using System; namespace Test { class Program { const int HEIGHT = 5; const int WIDTH = 3; static void Main(string[] args) { int[,] arr = new int[HEIGHT, WIDTH]; Random random = new Random(); // Заполнение массива for(int i = 0; i  HEIGHT; i++) { for(int j = 0; j  WIDTH; j++) { arr[i, j] = random.Next(-2, 3); } } // Вывод массива на экран for (int i = 0; i  HEIGHT; i++) { for (int j = 0; j  WIDTH; j++) { Console.Write($" "); } Console.WriteLine(); } Console.WriteLine(); int countMinusValue; // количество отрицательных элементов bool checkMinusValue; // есть ли отрицательные элементы в строке // количество отрицательных элементов в тех строках, // которые содержат хотя бы один нулевой элемент for (int i = 0; i  HEIGHT; i++) { countMinusValue = 0; checkMinusValue = false; for (int j = 0; j  WIDTH; j++) { if (arr[i, j] == 0) checkMinusValue = true; if (arr[i, j]  0) countMinusValue++; } if(checkMinusValue) Console.WriteLine($"В строке количество отрицательных элементов равно "); else Console.WriteLine($"В строке нулевых элементов нет"); } Console.WriteLine(); // Номера строк и столбцов всех седловых точек матрицы for (int i = 0; i  HEIGHT; i++) { for (int j = 0; j  WIDTH; j++) { if(Saddle(arr, i, j) == true) Console.WriteLine($"Седловая точка в строке и столбце "); } } Console.ReadKey(); } // Найти седловый элемент // true - седловый, false - не седловый static bool Saddle(int[,] arr, int indexHeight, int indexWidth) { int currentNumber = arr[indexHeight, indexWidth]; // Проверка на минимальное значение в строке for(int i = 0; i  WIDTH; i++) { if (arr[indexHeight, i]  currentNumber) return false; } // Проверка на максимальное значение в колонке for (int i = 0; i  HEIGHT; i++) { if (arr[i, indexWidth] > currentNumber) return false; } return true; } } }

Источник

Читайте также:  Php date function with timezone
Оцените статью