Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсач / Poyasnitelnaya_zapiska.docx
Скачиваний:
28
Добавлен:
13.02.2016
Размер:
114.28 Кб
Скачать

Раздел 3. Алгоритмизация задачи

Вводится с клавиатуры размер двумерного массива, а именно: количество строк (n) и количество столбцов (m), и заполняем массив случайными числами, в диапазоне от 0 до 10. Исходная матрица выводится на экран.

Исходный массив отправляем в метод «numberOfColumnsWithZeroElement» для поиска столбцов с нулевым элементом. В методе инициализируется две переменных «Count» и «result». «Count» - для подсчёта нулевых элементов в столбце, а «result» - для подсчёта столбцов, содержащих хоть один нулевой элемент. В цикле проверяются все столбцы, а во внутреннем цикле проверяются элементы столбца. Если проверяемый элемент равен нулю, то счётчик «Count» увеличивается на единицу. Если в столбце есть хоть один нулевой элемент, то счётчик столбцов с нулевым элементом увеличивается на единицу. При переходе на новый столбец счётчик «Count» сбрасывается на ноль. После проверки всех столбцов, результат выполнения метода (количество столбцов содержащих нулевой элемент) возвращается в основную программу и выводится на экран.

В основном методе инициализируются две переменные: «maxEqual» и «row», для записи максимальной последовательности одинаковых элементов и для запоминания строки с этой последовательностью, соответственно. Вызывается метод «numberOfLineSameElement».

В методе проверяется все строки. Во внутреннем цикле проверяются все элементы строки. Если нашли равные элементы, то считаем последовательность. если элементы не равны, то считаем новую последовательность, если полученная последовательность больше найденной, то сохраняем новый результат. если в строке найдена новая последовательность, и она больше последовательностей в других строках, то сохраняем новое значение наибольшей последовательности и запоминаем строку.

После этого возвращаемся в основной метод для вывода результатов.

Раздел 4 Идентификаторы программы

Обозначения параметров

Смысл параметров

В формулах

В программе

mass [n*m]

Двумерный массив размерностью n*m.

n

количество строк

m

количество столбцов

rand

Переменная для случайных чисел

i

Индекс строки

g

Индекс столбца

maxEqual

Переменная для записи максимальной последовательности

row

Переменная для запоминания строки

Таблица 1 – Идентификаторы метода «main»

Раздел 5. Схемы алгоритмов

Метод Main

Рисунок 1- Метод Main

Метод numberOfColumnsWithZeroElement

Рисунок 2- numberOfColumnsWithZeroElement

Метод numberOfLineSameElement

Рисунок 3- Метод numberOfLineSameElement

Раздел 6. Текст программы

Листинг 1 метод Main

Console.WriteLine("vvedite coll-vo strok");

int n = int.Parse(Console.ReadLine());

Console.WriteLine("vvedite coll-vo stolbcov");

int m = int.Parse(Console.ReadLine());

int[,] mass = new int[n, m];

Random rand = new Random();

for (int i = 0; i < mass.GetLength(0); i++)

{

for (int j = 0; j < mass.GetLength(1); j++)

{

mass[i, j] = rand.Next(0, 10);

Console.Write("{0} ", mass[i, j]);

}

Console.WriteLine();

}

Console.WriteLine("количество столбцов, содержащих нулевой элемент {0}", numberOfColumnsWithZeroElement(mass));

int maxEqual = 0;

int row = -1;

numberOfLineSameElement(mass, ref row, ref maxEqual);

if (row > 0)

Console.WriteLine("Найдена наибольшая серия из {0} элементов в строке № {1}", maxEqual, row);

else Console.WriteLine("Серий одинаковых элементов в строках не найдено");

Console.Read();

Соседние файлы в папке курсач