Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
техпро лр3.doc
Скачиваний:
2
Добавлен:
25.09.2019
Размер:
122.88 Кб
Скачать

Задание №5

Задачи на двухмерные массивы . Условие вида "дана матрица" означает, что пользователем вводится с клавиатуры размерность и все элементы. Осуществить ввод необходимых данных, выполнить реализацию алгоритма, обеспечить вывод полученных результатов. Для решения задачи предварительно составляется блок-схема. Не допускается использование операторов, прерывающих ход программы (breakgoto). Ввод многомерных массивов, обработка и вывод результатов реализуется отдельными методами .

1 Дана целочисленная матрица размера M х N. Найти номер первого из ее столбцов, содержащих максимальное количество одинаковых элементов.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace Lab3_zadanie_5

{

class Program

{

static void Nomer(Int32[,] Mx, Int32 N, Int32 M)

{

Int32 i, j, s = 1, p = 1, k = 1, r = 0, t = 1;

string a;

for (i = 0; i < M; i++)

for (j = 0; j < N; j++)

{

Console.Write("A[{0}, {1}]=", i + 1, j + 1);

a = Console.ReadLine();

Mx[i, j] = Convert.ToInt32(a);

}

for (j = 0; j < N; j++)

{

for (i = 0; i < M; i++)

{

for (k = i + 1; k < M; k++)

if (Mx[i, j] == Mx[k, j])

p++;

if (p > t)

t = p;

p = 1;

}

if (t > s)

{

s = t;

r = j;

}

}

if (s == 1)

{

Console.Write("Нет столбцов с одинаковыми элементами");

return;

}

Console.Write("Столбец {0} максимальное количество одинаковых элементов {1}", r + 1, s);

}

static void Main(string[] args)

{

Int32 N, M;

string a;

Console.Write("M=");

a = Console.ReadLine();

M = Convert.ToInt32(a);

Console.Write("N=");

a = Console.ReadLine();

N = Convert.ToInt32(a);

if ((N < +1) || (M < +1))

{

Console.Write("Ошибка");

return;

}

Int32[,] m = new Int32[M, N];

Nomer(m, N, M);

Console.ReadKey();

}

}

}

10