Преобразование массива С# - C#
Формулировка задачи:
Не работает, то есть он не по позициям преобразовывает, а по элементам.
Преобразовать массив таким образом, чтобы впервой его половине располагались
элементы, стоявшие в четных позициях, а во второй половине — элементы, стоявшие
вне четных позициях.
Вот скрин.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { int k,ch; k = 0; double[] ar = new double[10]; double[] br = new double[10]; ar[0] = Convert.ToDouble(textBox1.Text); ar[1] = Convert.ToDouble(textBox2.Text); ar[2] = Convert.ToDouble(textBox3.Text); ar[3] = Convert.ToDouble(textBox4.Text); ar[4] = Convert.ToDouble(textBox5.Text); ar[5] = Convert.ToDouble(textBox6.Text); ar[6] = Convert.ToDouble(textBox7.Text); ar[7] = Convert.ToDouble(textBox8.Text); ar[8] = Convert.ToDouble(textBox9.Text); ar[9] = Convert.ToDouble(textBox20.Text); double min1 = Math.Abs(ar[0]); ; double sum = 0; //поиск минимального по модулю элелемента for (int i = 0; i <= 9; ++i) { if (min1 > Math.Abs(ar[i])) { min1 = Math.Abs(ar[i]); textBox19.Text = "Минимальный по модулю элемент массива (array[" + Convert.ToString(i) + "]) равен " + Convert.ToString(min1) + ". "+Environment.NewLine; } } //сумма модулей элементов массива после первого элем-та равного 0 for (int i = 0; i <= 9; i++) { if (ar[i] == 0) { k = i; break; } } for (int i = k +1; i <= 9; i++) { sum += Math.Abs(ar[i]); } textBox19.Text += "\n\rСумма модулей, после первого элемента массива (array[" + Convert.ToString(k) + "]) равного 0, равен " + Convert.ToString(sum) + ". "; //=======Преобразовать массив================================================== int count = 0; for (int i = 0; i <= 9; i++) { ch = i % 2; if (ch!= 0) { br[count] = ar[i]; count++; } } for (int i = 0; i <= 9; i++) { ch = i % 2; if (ch == 0) { br[count] = ar[i]; count++; } } // выводим foreach (int i in br) { textBox10.Text = Convert.ToString(br[0]); textBox11.Text = Convert.ToString(br[1]); textBox12.Text = Convert.ToString(br[2]); textBox13.Text = Convert.ToString(br[3]); textBox14.Text = Convert.ToString(br[4]); textBox15.Text = Convert.ToString(br[5]); textBox16.Text = Convert.ToString(br[6]); textBox17.Text = Convert.ToString(br[7]); textBox18.Text = Convert.ToString(br[8]); textBox21.Text = Convert.ToString(br[9]); } } private void button3_Click(object sender, EventArgs e) { Close(); } } }
Решение задачи: «Преобразование массива С#»
textual
Листинг программы
int mid = N / 2; for (int i = 0; i < mid; i++) { br[i] = ar[2 * i + 1]; br[mid + i] = ar[2 * i]; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д