Другие языки программирования и технологии

помогите массив c#.

я отсортировал массив методом пузирька.Как мне вывести новый массив с теме же индексами элементов что были сначала.

например
4 66 3 80 1
0 1 2 3 4

новый массив
1 3 4 66 80
4 2 0 1 3
массив вводится с клавиатуры.
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Введите длину массива ");
int i, j, size;
Console.WriteLine("Программа для сортировки массива методом пузырька ");
size = int.Parse(Console.ReadLine());
int[] mas = new int[size];
Console.WriteLine("Введите" + size); Console.WriteLine("эллементов(а) массива");

for (i = 0; i < size; i++)
{
mas = int.Parse(Console.ReadLine());
}
for (i = 0; i < size - 1; i++)
{
for (j = i + 1; j < size; j++)
{
if (mas > mas[j])
{
int temp = mas;
mas = mas[j];
mas[j] = temp;

}
}
}

foreach (int X in mas)
Console.WriteLine(" " + X);

Console.ReadLine();
}
}
Тогда вам нужен двумерный массив, первая строка которого, содержит значения, а вторая индексы. Значения сортируйте любым методом но только по нужной вам строке. Хотите по значениям (по возрастанию, по убыванию) , хотите по индексам.
РЗ
Роман Зайкин
89 139
Лучший ответ
> Как мне вывести новый массив с теме же индексами элементов что были сначала.

например, так:

хттп: //пастебин. цом/нАЩПцМпЛ

во втором массиве будут сидеть оригинальные индексы
Работать с массивом, размерности:

mass[2][n]

2 - для хранения не только самого числа, но и его индекса
n - это значение определяется тем, склько всего вы ввели цифр.

Идея такая вообщем: нужно хранить и перемещать не только сами цифры, но и индексы, которые соответствуют числам, которые перемещаете;)
ех нужно 2 мерный масив отсортировать
int [,] mas = new int[length,2];
Console.WriteLine("Введите" + size); Console.WriteLine("эллементов (а) массива");

for (i = 0; i < size; i++)
{
mas[i,0] = int.Parse(Console.ReadLine());
mas[i,1] = i;
}
for (i = 0; i < size - 1; i++)
{
for (j = i + 1; j < size; j++)
{
if (mas[i,0] > mas[j,0])
{
int temp = mas[i,0];
mas[i,0] = mas[j,0];
mas[j,0] = temp;

int tempIndex = mas[i,1];
mas[i,1] = mas[j,1];
mas[j,1] = tempIndex;

} }
}
за то что на писано в сортировке я не ручаюсь потому что код не продебажен (писал тупо в ответе) ) )
а дальше совсем банально for(int i = 0; i < size; i++) { for(int j = 0; j < size; j++){ if(mas[j,1] == i){Console.WriteLine(mas[j,1]);}}}
MK
Mr. Klark
810