Преобразование массива С# - 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];
            }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.333 из 5
Похожие ответы