
- •Курсовая работа
- •Введение
- •Задача 1 Задание
- •Вариант задания
- •Код программы
- •Вариант задания
- •Код программы
- •Вариант задания
- •Код программы
- •Вариант задания
- •Код программы
- •Вариант задания
- •Код программы
- •Вариант задания
- •Код программы
- •Вариант задания
- •Код программы
- •Вариант задания
- •Код программы
- •Результаты работы программы
- •Вывод по задаче
Вариант задания
Уровень A
A7. Найти суммы положительных элементов, не делящихся на 3, каждого столбца матрицы a(5, 7) и сохранить их в одномерном массиве b.
Код программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace lab8
{
class Program
{
static void Main(string[] args)
{
const int A = -100;
const int B = 100;
Console.Write("Введите количество строк: ");
int rows = Convert.ToInt32(Console.ReadLine());
Console.Write("Введите количество столбцов: ");
int cols = Convert.ToInt32(Console.ReadLine());
int[,] matr = new int[rows, cols];
Console.WriteLine("Введите: \t1 - для заполнения матрицы случайными числами \n\t\t2 - для ручного заполнения матрицы");
int choice = 0;
do
{
choice = Convert.ToInt32(Console.ReadLine());
if (choice == 1)
randMatrix(matr, A, B);
else
{
if (choice == 2)
inputMatrix(matr);
else
choice = 0;
}
}
while (choice == 0);
showMatrix(matr);
int[] arr = new int[cols];
indTask(matr, arr);
showArray(arr);
Console.ReadKey();
}
static void randMatrix(int[,] matr, int A, int B)
{
Random r = new Random();
for (int i = 0; i < matr.GetLength(0); i++)
{
for (int j = 0; j < matr.GetLength(1); j++)
{
matr[i, j] = r.Next(A, B);
}
}
}
static void inputMatrix(int[,] matr)
{
for (int i = 0; i < matr.GetLength(0); i++)
{
for (int j = 0; j < matr.GetLength(1); j++)
{
Console.Write($"Введите [{i},{j}] элемент массива: ");
matr[i, j] = Convert.ToInt32(Console.ReadLine());
}
}
}
static void showMatrix(int[,] matr)
{
Console.WriteLine("Исходный двумерный массив (матрица):");
for (int i = 0; i < matr.GetLength(0); i++)
{
for (int j = 0; j < matr.GetLength(1); j++)
{
Console.Write($"{matr[i, j]}\t");
}
Console.WriteLine("");
}
Console.WriteLine("");
}
static void showArray(int[] arr)
{
Console.WriteLine("Получившийся массив:");
for (int i = 0; i < arr.Length; i++)
Console.Write($"{arr[i]}\t");
Console.WriteLine();
}
static void indTask(int[,] matr, int[] arr)
{
for (int j = 0; j < matr.GetLength(1); j++)
{
int summ = 0;
for (int i = 0; i < matr.GetLength(0); i++)
{
if (matr[i,j] > 0 && matr[i,j] % 3 > 0)
{
summ += matr[i, j];
}
}
arr[j] += summ;
}
}
}
}
Результаты работы программы
Заключение по задаче
В ходе выполнения задачи была написана программа, обрабатывающая и модифицирующая двумерные массивы, в соответствии с индивидуальными условиями.
Задача 9
Задание
Требуется определить массив целых чисел (например, размера 30), заполнить его случайными числами или ввести его элементы с клавиатуры и определить его характеристики с помощью рекурсивной функции в соответствии с вариантом задания. Проверку правильности результата провести с помощью сравнения результатов итеративной и рекурсивной функций.
Программа должна содержать следующие функции:
инициализация элементов массива случайными числами или вводимыми с клавиатуры;
вывод массива на экран;
итеративная функция, вычисляющая характеристики массива в соответствии с вариантом задания;
рекурсивная функция, вычисляющая характеристики массива в соответствии с вариантом задания.