Дата публікації допису: 27 квіт. 2017 12:19:59
Приклад програми: користувач заповнює два одновимірні масиви.
Програма виводить на екран третій масив, елементи якого дорівнюють сумі відповідних елементів вхідних масивів.
int[] a = new int [100];
int[] b = new int [100];
int k1 = 0, k2 = 0;
for (int i = 0; i < textBox1.Lines.Length; i++)
if (int.TryParse(textBox1.Lines[i], out a[k1]))
k1++;
for (int i = 0; i < textBox2.Lines.Length; i++)
if (int.TryParse(textBox2.Lines[i], out b[k2]))
k2++;
label1.Text= "Перший масив: " + k1;
label2.Text= "Другий масив: " + k2;
if (k1 != k2) label3.Text = "Помилка введення";
else
{
int[] c = new int[k1];
for (int i = 0; i < k1; i++)
{
c[i] = a[i] + b[i];
listBox1.Items.Add(c[i]);
}
}
Робота з масивами в Windows Forms.
Відомо ціни деякої кількості товарів та відсоток, на який змінюються ціни. Провести переоцінку товарів. В реалізованому розв'язку наведено приклади: зчитування елементів масиву з textBox (з перевіркою і без); обробка елементів масиву; виведення масиву в listBox.
В методі "зчитування елементів" можна (потрібно) обійтися без змінної i - вона виявилася зайвою. Не став виправляти код - залишаю сьогоднішній оригінал - при бажанні, на місці змінної i скрізь потрібно записати змінну k.
public int[] c = new int[100];
public int k;
private void button1_Click(object sender, EventArgs e)
{
int er = 0; // кількість помилок при зчитуванні
k = 0; // кількість вдалих зчитувань
int i = 0;
// зчитування елементів без перевірки
//for (int i=0; i<textBox1.Lines.length; i++)
//c[i] = int.Parse(textBox1.Lines[i]);
// зчитування масиву з перевіркою
foreach (string x in textBox1.Lines)
{
if (int.TryParse(x, out c[i]))
{
k++;
i++;
}
else er++;
}
label1.Text = "Зчитано " + k.ToString();
label2.Text += er.ToString();
}
private void button2_Click(object sender, EventArgs e)
{
// виведення елементів масиву
listBox1.Items.Clear();
for (int i = 0; i < k; i++)
listBox1.Items.Add(c[i]);
}
private void button3_Click(object sender, EventArgs e)
{
// обробка елементів масиву - переоцінка товару
int p = (int) numericUpDown1.Value;
double[] c1 = new double[k];
listBox1.Items.Clear();
for (int i=0; i<k; i++)
{
c1[i] = c[i] * (100 + p) / 100.0;
listBox1.Items.Add(c1[i]);
}
}
Робота з одновимірними масивами:
- заповнення масиву випадковими числами;
- знаходження суми елементів масиву;
- знаходження максимального елементу;
- сортування методом Бульбашки.
private void button1_Click(object sender, EventArgs e)
{
int k = (int) numericUpDown1.Value;
int[] a = new int[k];
Random x = new Random();
// генерація масиву випадкових чисел
for (int i=0; i<k; i++)
{
a[i] = x.Next(1, 1001);
listBox1.Items.Add(a[i]);
}
// Знаходження суми елементів
int suma = 0;
for (int i = 0; i < k; i++)
{
suma = suma + a[i];
}
label1.Text = "Сума = " + suma;
// Знаходження максимального числа
int max = a[0];
for (int i=1; i<k; i++)
{
if (a[i] > max)
max = a[i];
}
label2.Text = "Макс = " + max;
// Сортування методом Бульбашки
bool d;
for (int i = 0; i < k - 1; i++)
{
d = false;
for (int j = 0; j < k - 1 - i; j++)
{
if (a[j] > a[j + 1])
{
int c = a[j]; a[j] = a[j + 1]; a[j + 1] = c;
d = true;
}
}
if (!d) break;
}
//Array.Sort(a);
//Array.Reverse(a);
for (int i = 0; i < k; i++)
listBox2.Items.Add(a[i]);
Програма заповнює масив випадковими числами (продажі авто) та визначає номер дня з найкращими продажами.
int[] a = new int[100];
int k;
private void button1_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
k = int.Parse(textBox1.Text);
Random x = new Random();
for (int i=0; i<k; i++)
{
a[i] = x.Next(0, 50);
listBox1.Items.Add(i + 1 + " день: " + a[i] + " авто");
}
}
private void button2_Click(object sender, EventArgs e)
{
int max = a[0];
int n = 0;
for (int i=1; i<k; i++)
{
if (a[i]>max)
{
max = a[i];
n = i;
}
}
listBox2.Items.Add("Найкращий день №" + (n + 1));
}
Завдання №2
Створити рішення «Lesson7HW».
Завдання №1 (Task1Console)
"Вихідний день для автосалону"
Відомо кількість проданих автомобілів протягом 7 днів (1 тижня) - цілі числа, вводяться з клавіатури. На основі введених даних визначити оптимальний день тижня для вихідного дня автосалону. Програма повинна вивести назву дня тижня або повідомлення "Однозначно визначити неможливо".
(масиви, оператор вибору switch)
Завдання №2 (Task2Console)
"Перший заморозок в листопаді"
Заповніть масив з 30 елементів випадковими цілими числами в інтервалі [-5; 15] - це щоденна температура повітря протягом листопада місяця. Виведіть дату, коли вперше стався заморозок або повідомлення "заморозків не було".
Завдання №3 (Task3Console)
"Високий дохід"
Заповніть масив з 50 елементів випадковими цілими числами
в інтервалі [2000; 10000] - це заробітна плата працівників на фірмі. Виведіть на екран середню заробітну плату на фірмі, а також інформацію про кожного працівника, який отримує зарплату, вищу за середню (наприклад, "працівник №3 - 8525 грн ...").