Задача 1. В массиве А из 10 элементов вычислить наименьший элемент массива и его номер.
Рассмотрим вариант, когда одномерный массив инициализирован заранее, например:
static void Main(string[] args)
{
int[] A = new int[10] { -5, 6, -8, 2, 4, 9, -7, 4, 1, 0 };
// одномерный массив А из 10 целых чисел
int Amin; // минимальный элемент
int Imin; // номер минимального элемента
for (int i = 0; i < 10; i++)
Console.WriteLine("A[" + i + "]=" + A[i]);
Console.WriteLine(); // вывод элементов массива
Amin = A[0]; // предположение
Imin = 0;
for (int i = 1; i < 10; i++)
if (A[i] < Amin)
{
Amin = A[i]; // выявление min элемента
Imin = i; // его индекс
}
Console.WriteLine("Минимальный элемент: {0} ", Amin);
Console.WriteLine("Его индекс: {0} ", Imin);
Console.ReadKey();
}
Результаты выполнения программы:
|
Задача 2. Задана матрица М, размером 4´4. Получить матрицу T транспонированную по отношению к матрице М, т.е. поменять местами строки и столбцы (i-я строка матрицы М становится i-м столбцом матрицы T, а j-й столбец матрицы М становится j-й строкой матрицы T).
Рассмотрим вариант, когда массив формируется с помощью генератора случайных чисел Random, например:
static void Main(string[] args)
{
int i = 0, j = 0; // Строки и столбцы - переменные типа int
// Формирование матрицы М
Random r = new Random(); // Для случайных чисел
int[,]M = new int[4,4]; // Матрица M[4,4] типа int
int[,]T = new int[4,4]; // Матрица T[4,4] типа int
for (i = 0; i < 4; i++) // Внешний цикл по строкам
{
for (j = 0; j < 4; j++) // Внутренний цикл по столбцам
M[i,j] = r.Next(0, 100); // Генерация случайного числа от 0 до 99
}
Console.WriteLine(); // Вывод матрицы М
Console.WriteLine("Сформированная матрица М[4,4] целых чисел");
Console.WriteLine();
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
Console.Write(M[i, j].ToString("D2") + " ");
Console.WriteLine(); // D2 – два десятичных элемента
|
}
Console.WriteLine(); // Формирование матрицы Т
for (i = 0; i < 4; i++)
for (j = 0; j < 4; j++) //Замена столбцов/строк массива Т
T[j, i] = M[i, j]; // строками/столбцами массива М
Console.WriteLine("Транспонированная матрица Т[4,4] целых чисел");
Console.WriteLine(); // Вывод матрицы Т
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
Console.Write(T[i, j].ToString("D2") + " ");
Console.WriteLine(); // D2 – два десятичных элемента
}
Console.ReadKey(); // Пауза
}
Результаты вычисления:
|
Задания на дом для самостоятельного решения.
Составить блок-схему и написать программу решения задачи по предложенному варианту таблицы 5.3. По всем вариантам задан массив из целых чисел.
Таблица 5.3
N | Задачи |
Переставьте соседние элементы массива (0-й элемент поменять с 1-м, 2-й с 3-м и т.д.) Если элементов нечетное число, то последний остается на своем месте. | |
Дан массив из 20 элементов. Подсчитать сумму положительных чисел, находящихся между максимальным и минимальным значениями. | |
3 | Отсортировать одномерный массив из 10 элементов по возрастанию. |
Элементы одномерного массива циклически сдвинуть на 2 позиции влево | |
Отсортировать одномерный массив из 16 элементов по убыванию. | |
Элементы одномерного массива циклически сдвинуть на 3 позиции вправо | |
Дан массив из 20 элементов. Подсчитать количество отрицательных чисел, находящихся между максимальным и минимальным значениями. | |
Элементы одномерного массива сдвинуть на 3 позиции вправо | |
Дана квадратная матрица размера 6´6. Найти номера столбцов, все элементы которых – нули | |
Дана квадратная матрица размера 6´6. Найти номера столбцов, элементы которых образуют возрастающую последовательность (x1i < x2i <... < xni). | |
Дана квадратная матрица размера 6´6. Найти номера столбцов, элементы в каждом из которых одинаковы | |
Элементы одномерного массива циклически сдвинуть на 3 позиции вправо. |
|
Составить блок-схему и написать программу решения задачи по предложенному варианту таблицы 5.4. По всем вариантам задан массив из символов.
Таблица 5.4
№ | Задание |
Элементы одномерного массива Aсдвинуть на 3 позиции вправо | |
В заданной строке G заменить последовательность символов (nl)i на символ yi и подсчитать число произведенных замен | |
Элементы одномерного массива Bциклически сдвинуть на 3 элемента влево | |
В веденной строке C заменить все символы ki на символы (ab)i и подсчитать число произведенных замен | |
Элементы одномерного массива Hциклически сдвинуть на 2 элемента вправо | |
В заданной строке D заменить последовательность символов (xyz)i на символ ti и подсчитать число произведенных замен. | |
Элементы одномерного массива Fциклически сдвинуть на 2 элемента влево | |
В заданной строке K заменить все символы xi на ai и подсчитать число произведенных замен | |
Элементы одномерного массива Mциклически сдвинуть на 3 элемента вправо. | |
В веденной строке P заменить все символы yi на ki и подсчитать число произведенных замен произведенных замен | |
Элементы одномерного массива Nциклически сдвинуть на 3 элемента влево. | |
В заданной строке F заменить последовательность xi на (cd)i и подсчитать число произведенных замен |
Проанализировать результат на соответствие поставленной задачи.
|