Дата публікації допису: 8 черв. 2017 8:14:47
Task_1_Console (зчитування елементів масиву, проста обробка та виведення елементів)
static void Main(string[] args)
{
// Зчитування елементів масиву
Console.Write("Введіть к-сть рядків ");
int row = int.Parse(Console.ReadLine());
Console.Write("Введіть к-сть стовпців ");
int col = int.Parse(Console.ReadLine());
int[,] arr = new int[row, col];
Console.WriteLine("Введіть елементи масива порядково через пробіл");
for (int i=0; i<row; i++)
{
string [] s = Console.ReadLine().Split(' ');
for (int j=0; j<col; j++)
{
arr[i, j] = int.Parse(s[j]);
}
}
// Обробка елементів масиву
for (int i=0; i<row; i++)
{
for (int j=0; j<col; j++)
{
arr[i, j] = arr[i,j]*2;
}
}
// Виведення елементів масиву
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col-1; j++)
{
Console.Write(arr[i, j].ToString() + "\t");
}
Console.WriteLine(arr[i, col-1]);
}
Console.ReadLine();
}
Task_2_Console (створення двовимірного масиву, заповненого випадковими числами, виведення масиву на екран)
// ++++++ метод заповнення масиву випадковими числами
static int [,] GenerateArr (int row, int col)
{
int[,] arr = new int[row, col];
Random x = new Random();
for (int i = 0; i < row; i++)
for (int j = 0; j < col; j++)
arr[i, j] = x.Next(-9, 10);
return arr;
}
// ++++++ метод виведення масиву на екран
static void PrintArr(int [,] arr)
{
for (int i = 0; i < arr.GetLength(0); i++)
{
for (int j = 0; j < arr.GetLength(1) - 1; j++)
{
Console.Write(arr[i, j].ToString() + "\t");
}
Console.WriteLine(arr[i, arr.GetLength(1) - 1]);
}
}
static void Main(string[] args)
{
Console.Write("Введіть к-сть рядків ");
int row = int.Parse(Console.ReadLine());
Console.Write("Введіть к-сть стовпців ");
int col = int.Parse(Console.ReadLine());
int[,] arr = new int[row, col];
arr = GenerateArr(row, col);// викликаємо метод
PrintArr(arr);
Console.ReadLine();
}
Task_3_WinForms (зчитування елементів масиву, проста обробка та виведення елементів)
public int[,] arr = new int[100, 100];
public int col, row;
// зчитування елементів масиву з textbox
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < textBox1.Lines.Length; i++)
{
string[] s = textBox1.Lines[i].Split(' ');
for (int j = 0; j < s.Length; j++)
{
arr[i, j] = int.Parse(s[j]);
col = j;
}
row = i;
}
}
// обробка елементів масиву
private void button2_Click(object sender, EventArgs e)
{
for (int i=0; i<=row; i++)
for (int j = 0; j <= col; j++)
{
if (arr[i, j] < 0) arr[i, j] = Math.Abs(arr[i, j]);
}
}
// виведення елементів масиву в listBox
private void button3_Click(object sender, EventArgs e)
{
for (int i = 0; i <= row; i++)
{
string s = "";
for (int j = 0; j <= col; j++)
{
s = s + arr[i, j].ToString() + " ";
}
listBox1.Items.Add(s);
}
}
Приклад програми, яка генерує двовимірний масив, заповнений випадковими цифрами:
static int [,] Generate (int row, int col)
{
int[,] arr = new int[row, col];
Random x = new Random();
for (int i = 0; i < row; i++)
for (int j = 0; j < col; j++)
arr[i, j] = x.Next(0, 10);
return arr;
}
void PrintArr (int [,] arr)
{
listBox1.Items.Clear();
for (int i = 0; i < arr.GetLength(0); i++)
{
string s = "";
for (int j = 0; j < arr.GetLength(1) - 1; j++)
{
s += (arr[i, j] + " ");
}
s += arr[i, arr.GetLength(1) - 1];
listBox1.Items.Add(s);
}
}
private void button1_Click(object sender, EventArgs e)
{
int row = (int) numericUpDown1.Value;
int col = (int) numericUpDown2.Value;
int[,] arr = new int [row, col];
arr = Generate(row, col);
PrintArr(arr);
}
Двовимірні масиви:
- заповнення масива випадковими цифрами;
- виведення згенерованого масива на екран;
- знаходження суми парних і суми непарних елементів.
int[,] m = new int[100, 100];
static int [,] GenerateMatrix (int row, int col)
{
int[,] arr = new int[row, col];
Random x = new Random();
for (int i=0; i<row; i++)
for (int j = 0; j < col; j++)
{
arr[i, j] = x.Next(0, 10);
}
return arr;
}
void PrintMatrix (int [,] arr)
{
listBox1.Items.Clear();
for (int i=0; i<arr.GetLength(0); i++)
{
string s = "";
for (int j = 0; j < arr.GetLength(1); j++)
{
s = s + arr[i, j] + " ";
}
listBox1.Items.Add(s);
}
}
private void button1_Click(object sender, EventArgs e)
{
int row = (int) numericUpDown1.Value;
int col = (int) numericUpDown2.Value;
m = GenerateMatrix(row, col);
PrintMatrix(m);
}
private void button2_Click(object sender, EventArgs e)
{
int s1 = 0, s2 = 0;
for (int i=0; i<m.GetLength(0); i++)
for (int j = 0; j < m.GetLength(1); j++)
{
if (m[i, j] % 2 == 0)
s1 = s1 + m[i, j];
else s2 = s2 + m[i, j];
}
listBox2.Items.Add("Сума парних = " + s1);
listBox2.Items.Add("Сума непарних = " + s2);
}
-зчитати двовимірний масив (3х3);
- знайти суму елементів масиву;
- вивести масив на екран
int[,] m = new int[30, 30];
private void button1_Click(object sender, EventArgs e)
{
for (int i=0; i < 3; i++)
{
string [] s = textBox1.Lines[i].Split(' ');
for (int j=0; j < 3; j++)
{
m[i, j] = int.Parse(s[j]);
}
}
}
private void button2_Click(object sender, EventArgs e)
{
int suma = 0;
for (int i = 0; i < m.GetLength(0); i++)
for (int j = 0; j < m.GetLength(1); j++)
{
suma += m[i, j];
}
label1.Text = "Сума = " + suma;
}
private void button3_Click(object sender, EventArgs e)
{
for (int i = 0; i < 3; i++)
{
string s = "";
for (int j = 0; j < 3; j++)
s += m[i, j] + " ";
listBox1.Items.Add(s);
}
}
Завдання№1
Створити рішення «Lesson10HW» та реалізувати в ньому один проект (Console або WindowsForms).
Скласти програму, яка:
1. Генерує та виводить на екран двовимірний масив випадкових цілих чисел, які за модулем не перевищують число A. Розмірність масиву - N х M. Числа A,N та M задає користувач.
2. Всі парні числа масиву заміняє нулями, а непарні - одиницями.
3. Виводить на екран змінений масив, а також номер рядка, який містить найбільшу кількість парних чисел (якщо таких рядків декілька, то потрібно вивести номер першого з них)
Завдання №2
Створіть рішення "HW8_Name". В даному рішенні створіть проект “Array”.
Відомо двовимірний масив натуральних чисел розмірністю M х N (масив заповнюється випадковими числами або вводиться з клавіатури). Для кожного рядка визначити, яких чисел в ньому більше - парних, непарних чи однаково.