Реализовать в виде модуля набор подпрограмм для выполнения следующих операций с массивом размерности nxm: - C#
Формулировка задачи:
Реализовать в виде модуля набор подпрограмм для выполнения следующих операций с массивом размерности nxm:
1) Процедура заполнения массива следующим образом:
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
...;
2) Процедуру определения количества нечётных элементов в каждой строке;
3)Определения наличия заданного числа А среди элементов.
Разработать основную программу, демонстрирующую использование методов созданного класса.
Результат вывести на на форму в текстовый файл
Решение задачи: «Реализовать в виде модуля набор подпрограмм для выполнения следующих операций с массивом размерности nxm:»
textual
Листинг программы
using System;
using System.IO;
namespace Program
{
class ArrayFunc
{
static public void Fill(int[,] arr)
{
for (int i = 0; i < arr.GetLength(0); i++)
for (int j = 0; j < arr.GetLength(1); j++)
arr[i, j] = j + i * arr.GetLength(1) + 1;
}
static public int OddNumbersCount(int[,] arr,int RowNumber)
{
int Count = 0;
for (int i = 0; i < arr.GetLength(1); i++)
if (arr[RowNumber, i] % 2 != 0) Count++;
return Count;
}
static public bool HasNumber(int[,] arr,int Number)
{
for (int i = 0; i < arr.GetLength(0); i++)
for (int j = 0; j < arr.GetLength(1); j++)
if (arr[i, j] == Number) return true;
return false;
}
}
class program
{
static void Main()
{
Random r = new Random();
Console.WriteLine("N=?");
int n = int.Parse(Console.ReadLine());
Console.WriteLine("M=?");
int m = int.Parse(Console.ReadLine());
int[,] arr = new int[n, m];
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
arr[i, j] = r.Next(0, 101);
}
}
StreamWriter sw = new StreamWriter("ouput.txt");
sw.WriteLine("Начальный Массив");
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
sw.Write("{0} ", arr[i, j]);
}
sw.WriteLine();
}
sw.WriteLine("ПослеЗаполнения");
ArrayFunc.Fill(arr);
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
sw.Write("{0} ", arr[i, j]);
}
sw.WriteLine();
}
Console.WriteLine("В какой строке подсчитать количество нечетных чисел?");
int x = int.Parse(Console.ReadLine());
sw.WriteLine("{0} Нечетных чисел в {1} строке.",ArrayFunc.OddNumbersCount(arr,x),x);
Console.WriteLine("А=?");
int a = int.Parse(Console.ReadLine());
if (ArrayFunc.HasNumber(arr, a))
sw.WriteLine("{0} Есть в массиве", a);
else sw.WriteLine("{0} Отсутствует в массиве", a);
sw.Close();
Console.ReadLine();
}
}
}