- •Министерство образования и науки республики казахстан
- •Тема 1.4 Массивы.
- •1. Лабораторная работа
- •1.1. Постановка задачи №1
- •1.1.1.Таблица идентификаторов
- •1.1.3. Листинг программы
- •1.1.3. Листинг программы
- •1. Лабораторная работа
- •1.1. Постановка задачи №1
- •1.1.1.Таблица идентификаторов
- •1.1.3. Листинг программы
- •Тема 1.5 Функции.
- •1.1.3. Листинг программы
- •1.1.3. Листинг программы
- •1.1.3. Листинг программы
- •1.1.3. Листинг программы
- •1.1.4. Контрольный пример
1. Лабораторная работа
1.1. Постановка задачи №1
Даны два массива A и B. Распечатать те элементы массива А, которых нет в массиве В. Распечатать те элементы массива В, которых нет в массиве А.
1.1.1.Таблица идентификаторов
Таблица идентификаторов представлена в таблице 1
Таблица 1 – Идентификаторы 1 задачи
-
Идентификатор
Назначение
Тип
J
переменная
Целочисленный
F
переменная
Целочисленный
S
переменная
Целочисленный
i
переменная
Целочисленный
1.1.3. Листинг программы
static void Main(string[] args)
{
int[] f = { 1, 2, 5, 7, 10, 4, 3 };
int[] s = { 11, 3, 5, 20, 10, 4, 2 };
for (int i = 0; i < f.Length; i++)
{
bool contains = false;
for (int j = 0; j < s.Length; j++)
if (s[i] == f[j]) { contains = true; break; }
if (!contains) Console.Write("{0} ", s[i]);
}
for (int i = 0; i < s.Length; i++)
{
bool contains = false;
for (int j = 0; j < f.Length; j++)
if (f[i] == s[j]) { contains = true; break; }
if (!contains) Console.Write("{0} ", f[i]);
}
Console.WriteLine();
Console.ReadKey();
}
}
}}
1.1.4. Контрольный пример
1. Лабораторная работа
1.1. Постановка задачи №1
Дана матрица размера 5 x 10. В каждой строке1|столбце2 найти количество элементов, больших3|меньших4 среднего арифметического всех элементов этой строки1|столбца2.
1.1.1.Таблица идентификаторов
Таблица идентификаторов представлена в таблице 1
Таблица 1 – Идентификаторы 1 задачи
-
Идентификатор
Назначение
Тип
I
переменная
Целочисленный
S
переменная
Целочисленный
G
переменная
Целочисленный
M
переменная
Целочисленный
n
переменная
Целочисленный
1.1.3. Листинг программы
static void enter(out int[,] my_matrix)
{
int i, j, M, N; string s;//описываем необходимые переменные
Console.Write("Введите число строк матрицы N=");//вводим размер матрицы
s = Console.ReadLine();
N = Convert.ToInt32(s);
Console.Write("Введите число столбцов матрицы M=");
s = Console.ReadLine();
M = Convert.ToInt32(s);
my_matrix = new int[N, M];//создаём двухмерный массив необходимой длины
//запускаем циклы по всем элементам матрицы
for (i = 0; i < N; i++) //цикл по строкам
for (j = 0; j < M; j++) //цикл по столбцам
{
Console.Write("Введите элемент матрицы ({0},{1}) ", i + 1, j + 1);//вводим i,j-ый элемент
s = Console.ReadLine();
my_matrix[i, j] = Convert.ToInt32(s);
}
}
static void process(ref int[,] my_matrix)
{
int k = 0;
int N = my_matrix.GetLength(0);//находим количеств строк в матрице
int M = my_matrix.GetLength(1);//находим количество столбцов в матрице
for (int i = 0; i < N; i++)//запускаем цикл по строкам
{
for (int j = 1; j < M; j++)//цикл по столбцам
{
if (my_matrix[i, j - 1] < my_matrix[i, j]) //считываем количество элеменов, удовлетворяющих нашему условию
k++;
}
}
k = k / M; // количество элементов делим на количество элементов в строке (столбцов). получаем количество строк
int[,] my_matrix1 = new int[k, M];//создаём дополнительный массив с необходимым количеством строк
int n = 0;
int m = 0;
for (int i = 0; i < N; i++)//заполняем новый массив четными элементами исходного
{
for (int j = 1; j < M; j++)
{
if (my_matrix[i, j - 1] < my_matrix[i, j])
{
my_matrix1[n, m] = my_matrix[i, j - 1];
n++;
m++;
}
}
}
my_matrix = my_matrix1;
}
static void output(int[,] my_matrix)
{
int N = my_matrix.GetLength(0);
int M = my_matrix.GetLength(1);
Console.WriteLine();
Console.WriteLine("Вывод результата:");
for (int i = 0; i < N; i++)
{
for (int j = 0; j < M; j++)
{
Console.Write("{0,3} ", my_matrix[i, j]);
Console.WriteLine();
}
}
}
static void Main(string[] args)
{
int[,] my_matrix;
enter(out my_matrix); //обращение к методу enter
process(ref my_matrix); //обращение к методу process
output(my_matrix); //обращение к методу output
Console.ReadKey();
}
1.1.4. Контрольный пример
1. Лабораторная работа
1.1. Постановка задачи №1
.Дан целочисленный массив A размера 10. Вывести номер первого1|последнего2 из тех его элементов A[i], которые удовлетворяют двойному неравенству: A[1] < A[i] < A[10]. Если таких элементов нет, то вывести 0.
1.1.1.Таблица идентификаторов
Таблица идентификаторов представлена в таблице 1
Таблица 1 – Идентификаторы 1 задачи
-
Идентификатор
Назначение
Тип
I
переменная
Целочисленный
К
переменная
Целочисленный
1.1.3. Листинг программы
static void Main(string[] args)
{
Console.WriteLine("Введите количество вводимых чисел");
int k = Convert.ToInt16(Console.ReadLine());
int[] massiv = new int[k];
Console.WriteLine("Введите числа");
for (int i = 0; i < k; ++i)
{
massiv[i] = Convert.ToInt16(Console.ReadLine());
}
Console.WriteLine("Все");
for (int i = 0; i < k; ++i)
{
if (massiv[i] < massiv[i + 1])//&&(massiv[i]<massiv[k]))
{
Console.WriteLine(massiv[i]);
Console.WriteLine(massiv[i + 1]);
}
}
Console.ReadKey();
1.1.4. Контрольный пример
1. Лабораторная работа
1.1. Постановка задачи №1
Дан массив A размера N. Сформировать новый массив B того же размера по следующему правилу: элемент BK равен сумме элементов массива A с номерами от 0 до K.
1.1.1.Таблица идентификаторов
Таблица идентификаторов представлена в таблице 1
Таблица 1 – Идентификаторы 1 задачи
-
Идентификатор
Назначение
Тип
N
переменная
Целочисленный
K
переменная
Целочисленный
I
переменная
Целочисленный
b
переменная
Целочисленный
