Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2012, 16:44   #1
IIIAPCEP
Пользователь
 
Регистрация: 28.03.2012
Сообщений: 13
По умолчанию 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 Form4 : Form
    {
        public Form4()
        {
            InitializeComponent();
           
        }

        private void button4_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void button3_Click(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            string v;int k;

            v = "";
            double[] massive;
            massive=new double [] { 1.5, 2, 3.1, 4.2, 6, 7.5, 8.3, 9 };
            for (k = 0; k < 8; k++)
            {
               
                v = v + massive[k].ToString() + "  ";

            } listBox1.Items.Add(v);

                

                string kk, ss, vv; double s; int kkk;
                vv = "";
                kk = textBox1.Text;
                kkk = int.Parse(kk);
                ss = textBox2.Text;
                s = double.Parse(ss);

                for (k = kkk; k < 7; k++)
                {
                    massive[k] = massive[k + 1]; 
                }
                               
                   for (k = 0; k < 7; k++)
                {

                    vv = vv + massive[k].ToString() + "  ";
                }

                listBox2.Items.Add(vv);
               
            double[] massivenew;
                Array.Copy(massive, massivenew = new double[massive.Length], massive.Length);
окажите содействие в решении данной задачи
заранее благодарен=)
IIIAPCEP вне форума Ответить с цитированием
Старый 22.04.2012, 23:39   #2
IIIAPCEP
Пользователь
 
Регистрация: 28.03.2012
Сообщений: 13
По умолчанию

реализовано было так
Код:
int i = 0;
            int u = 0;
            
            string vvv = "";


           for (i = 0; i < massivenew.Length; i++)
            {
                if (massivenew[i] < s)
                {
                    u=i;
                }
              
            }
            int insertToIndex = u;
             
             for (i = 0; i < massivenew.Length-1; i++)
             {
                 if (i == insertToIndex)
                 {
                     vvv = vvv + massivenew[i].ToString() + " ";
                     massivenew[u] = s;
                     vvv = vvv + massivenew[u].ToString() + "  ";
                 }
                 else
                 {
                     vvv = vvv + massivenew[i].ToString() + "  ";
                 }
             }
            listBox3.Items.Add(vvv);
криво, но время поджимает, если кто научит правильно, буду премного благодарен=)
IIIAPCEP вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерный массив. Необходимо заменить последний положительный элемент на второй элемент массива кумитэ Паскаль, Turbo Pascal, PascalABC.NET 1 19.12.2011 16:44
Массив в Си. как определить и удалить строчку в которой находится макс элемент Софья9 Помощь студентам 15 11.06.2009 18:46
Си++. Вставить в массив элемент в нужную строку hen Помощь студентам 10 08.06.2009 22:27
Удалить первый элемент с заданным значением. Сдвинуть массив циклически на К элементов в право GydZu Паскаль, Turbo Pascal, PascalABC.NET 10 17.05.2009 16:38
Паскаль. Вставить в массив элемент со сдвигом всех остальных элементов Yulya Помощь студентам 1 31.03.2009 10:53