


Задачa по программированию
Никак не могу понять как взять числа из текстбоксов в массивы , а потом проводить умножение массивов , умножение то понятно , но не понятно как массив сделать из строкового в дабл , чтоб потом перемножить... Понимаю что говногод , да еще и написан бездарем и даже не рабочий.
И желательно чтоб без наворотов , хотелось бы понимать что происходит в коде ,а не копипастить.
Коротко по данным
A и X - массивы , n и m - количество чисел в массиве(ну или размер массива как написано в задании)
minF и maxF - минимальное и максимальное значение функцииY = Ai * Xj
А это мое чудо :\
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows .Forms;
namespace WindowsFormsApp4._1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string[] A = textBox1.Text.Split(new char[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries);
double n = Convert.ToDouble(textBox1.Lines.Length);
string[] X = textBox2.Text.Split(new char[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries);
double m = Convert.ToDouble(textBox2.Lines.Length);
//double minF = A[0] * X[0];
//double maxF = A[0] * X[0];
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp4._1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
// Получаем строки из текстовых полей и разбиваем их на массивы строк
string[] AStrings = textBox1.Text.Split(new char[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries);
string[] XStrings = textBox2.Text.Split(new char[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries);
// Преобразуем массивы строк в массивы double
double[] A = Array.ConvertAll(Astrings, double.Parse);
double[] X = Array.ConvertAll(Xstrings, double.Parse);
// Получаем количество элементов в массивах
int n = A.Length;
int m = X.Length;
// Инициализируем минимальное и максимальное значение функции
double minF = double.MaxValue;
double maxF = double.MinValue;
// Выполняем умножение элементов массивов и находим минимальное и максимальное значение
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
double Y = A[i] * X[j];
if (Y < minF) minF = Y;
if (Y > maxF) maxF = Y;
}
}
// Выводим результаты
MessageBox.Show($"Минимальное значение функции: {minF}");
MessageBox.Show($"Максимальное значение функции: {maxF}");
}
}
}
private void button1_Click(object sender, EventArgs e)
{
try
{
var A = textBox1.Text.Split(new[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries)
.Select(double.Parse)
.ToArray();
var X = textBox2.Text.Split(new[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries)
.Select(double.Parse)
.ToArray();
if (!A.Any() || !X.Any())
{
MessageBox.Show("Массивы не могут быть пустыми");
return;
}
double minF = A[0] * X[0];
double maxF = minF;
foreach (var a in A)
{
foreach (var x in X)
{
var product = a * x;
minF = Math.Min(minF, product);
maxF = Math.Max(maxF, product);
}
}
label1.Text = $"Минимальное значение: {minF}";
label2.Text = $"Максимальное значение: {maxF}";
}
catch (FormatException)
{
MessageBox.Show("Ошибка: Введите корректные числовые значения");
}
catch (Exception ex)
{
MessageBox.Show($"Произошла ошибка: {ex.Message}");
}
}