
- •Курсовая работа
- •Раздел 1. Постановка задачи
- •Раздел 2. Математическая формулировка задачи
- •Раздел 3. Алгоритмизация задачи
- •Раздел 4 идентификаторы программы
- •Раздел 5. Схемы алгоритмов
- •Листинг 2 метод “numberOfColumnsWithZeroElement” [2]
- •Листинг 3 метод “numberOfLineSameElement” [3]
- •Листинг 4 метод «randomlyfillingmatrix» [4]
- •Листинг 5 метод «izfail» [5]
- •Раздел 7. Результаты выполнения программы
- •Раздел 8. Анализ результатов
- •Раздел 9. Инструкция по работе с программой
- •Заключение
- •Список использованных источников
Раздел 5. Схемы алгоритмов
Метод «Main»
Рисунок 1- Метод «Main
Метод «numberOfColumnsWithZeroElement»
Рисунок 2 - Метод «numberOfColumnsWithZeroElement»
Метод «numberOfLineSameElement»
Рисунок 3- Метод «numberOfLineSameElement»
Метод «randomlyfillingmatrix»
Рисунок 4 - Метод «randomlyfillingmatrix»
Метод «izfail»
Рисунок 5 - Метод «izfail»
РАЗДЕЛ 6. ТЕКСТ ПРОГРАММЫ
Листинг 1 метод «Main» [1]
Console.WriteLine("Выберите способ заполнения матрицы: ");
Console.WriteLine("1-случайными числами");
Console.WriteLine("2-из файла");
int b = int.Parse(Console.ReadLine());
StreamWriter a = new StreamWriter(@"E:\rezultat.txt");
if (b == 1)
{
Console.WriteLine("введите кол-во строк");
int n = int.Parse(Console.ReadLine());
Console.WriteLine("введите кол-во столбцов");
int m = int.Parse(Console.ReadLine());
int[,] mass = randomlyfillingmatrix(n, m);
a.WriteLine("количество столбцов, содержащих нулевой элемент {0}", numberOfColumnsWithZeroElement(mass));
int maxEqual = 0;
int row = -1;
numberOfLineSameElement(mass, ref row, ref maxEqual);
if (row > 0)
a.WriteLine("Найдена наибольшая серия из {0} элементов в строке № {1}", maxEqual, row);
else a.WriteLine("Серий одинаковых элементов в строках не найдено");
}
if (b == 2)
{
const string doc = @"E:\matrixfile.txt";
int[,] mass = izfail(doc);
a.WriteLine("количество столбцов, содержащих нулевой элемент {0}", numberOfColumnsWithZeroElement(mass));
int maxEqual = 0;
int row = -1;
numberOfLineSameElement(mass, ref row, ref maxEqual);
if (row > 0)
a.WriteLine("Найдена наибольшая серия из {0} элементов в строке № {1}", maxEqual, row);
else a.WriteLine("Серий одинаковых элементов в строках не найдено");
}
a.Close();
Листинг 2 метод “numberOfColumnsWithZeroElement” [2]
int Count = 0;
int result = 0;
for (int i = 0; i < mass.GetLength(1); i++)
{
for (int j = 0; j < mass.GetLength(0); j++)
{
if (mass[j, i] == 0)
{
Count++;
}
}
if (Count > 0)
result++;
Count = 0;
}
return result;
Листинг 3 метод “numberOfLineSameElement” [3]
for (int i = 0; i < mass.GetLength(0); i++)
{
int tmpEqual = 1, currEqual = 1;
for (int j = 0; j < mass.GetLength(1) - 1; j++)
{
if (mass[i, j] == mass[i, j + 1])
tmpEqual++;
else tmpEqual = 1;
if (tmpEqual > currEqual)
currEqual = tmpEqual;
}
if (currEqual > maxEqual && currEqual > 1)
{
maxEqual = currEqual; row = i + 1;
}
}