Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
8 / 8 / 1
Регистрация: 17.01.2010
Сообщений: 172

Сортировка массива по своему правилу

06.02.2012, 18:51. Показов 901. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер. Пишу программу и встал на одном месте. Есть массив stringArray {2,7}, так же есть второй массив Mas [4,7]. Массив stringArray выглядет так:
абйкмно
5461372
Не могу составить алгоритм замены столбцов в массиве Маs по следующему правилу:
1 столбец Mas меняется местами с 5 столбцом
2 столбец Mas меняется местами с 4 столбцом
3 столбец Mas меняется местами с 6 столбцом
4 столбец Mas меняется местами с 1 столбцом
5 столбец Mas меняется местами с 3 столбцом
6 столбец Mas меняется местами с 7 столбцом
7 столбец Mas меняется местами с 2 столбцом

Написал алгоритм замены, но он что то не работает
C#
1
2
3
4
5
6
7
8
9
for (int j = 0; j < 7; j++)
            {
                for (int q = 0; q < 4; q++)
                {
                    string tmp = mas[q, Convert.ToInt32(stringArray[1,j])];
                    mas[q, Convert.ToInt32(stringArray[1,j])] = mas[q, j];
                    mas[q, j] = tmp;
                }
            }
Добавлено через 55 минут
Создал дополнительный массив masNew и пытаюсь перекинуть в него из массива Mas но пишет ошибка
Индекс находится вне граници массива.
C#
1
2
3
4
5
6
7
8
 String[,] masNew = new String[4, 7];
            
            for (int j = 0; j < 7; j++)
                for (int i = 0; i < 4; i++)
                {
                    masNew[i, j] = mas[Convert.ToInt32(stringArray[1, j]), j];
                    
                }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.02.2012, 18:51
Ответы с готовыми решениями:

Сортировка массива по правилу
Помогите пожалуйста... Дана целочисленная квадратная матрица размером n. Упорядочить значения так, чтобы: {a}_{11}\leq {a}_{12}\leq...

Сортировка массива согласно правилу
Написать функцию сортирование массива согласно правилу: сначала четные по убыванию, а потом нечетные по убиванию. Задание реализовать с...

Сортировка по своему порядку
Доброе время суток, как задать в access собственную сортировку есть две таблицы. Каждой из ГруппаСложности соответствует записи в другой...

4
 Аватар для KarmaMaker
91 / 90 / 11
Регистрация: 09.12.2011
Сообщений: 233
06.02.2012, 19:27
Возможно, это то, что тебе нужно.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
namespace justForFun
{
    class MainClass
    {
        static void Main()
        {
            // Опустим пока парсинг строки значения сразу типа integer
            int[] shiftArray = { 5, 4, 6, 1, 3, 7, 2 };
            
            char[] anagram = { 'а', 'б', 'й', 'к', 'м', 'н', 'о' };
            char[] word = new char[7];
 
            for (int index = 0; index < shiftArray.Length; index++)
            {
                word[ shiftArray[index] - 1 ] = anagram[index];
            }
 
            Console.WriteLine(new String(word));
            Console.ReadLine();
        }
    }
}
1
8 / 8 / 1
Регистрация: 17.01.2010
Сообщений: 172
06.02.2012, 20:48  [ТС]
этот алгоритм собирает слово, но мне надо чтобы он собирал по этому же правилу массив маs
0
 Аватар для KarmaMaker
91 / 90 / 11
Регистрация: 09.12.2011
Сообщений: 233
06.02.2012, 21:15
этот алгоритм собирает слово, но мне надо чтобы он собирал по этому же правилу массив маs
Если я правильно понял, то вот:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
using System;
namespace justForFun
{
    class MainClass
    {
        static void Main()
        {
            // Опустим пока парсинг строки значения сразу типа integer
            int[] shiftArray = { 5, 4, 6, 1, 3, 7, 2 };
 
            int[,] someMatrix = {   {11, 12},
                                           {21, 22},
                                           {31, 32},
                                           {41, 42},
                                           {51, 52},
                                           {61, 62},
                                           {71, 72}    };
            int[,] resultMatrix = new int[7, 2];
            
            char[] anagram = { 'а', 'б', 'й', 'к', 'м', 'н', 'о' };
            char[] word = new char[7];
       
            for (int index = 0; index < shiftArray.Length; index++)
            {
                word[ shiftArray[index] - 1 ] = anagram[index];
                resultMatrix[shiftArray[index] - 1, 0] = someMatrix[index, 0];
                resultMatrix[shiftArray[index] - 1, 1] = someMatrix[index, 1];
            }
 
            Console.WriteLine( word );
            for (int rowNum = 0; rowNum < resultMatrix.GetLength(0); rowNum++)
            {
                for (int colNum = 0; colNum < resultMatrix.GetLength(1); colNum++)
                {
                    Console.Write(resultMatrix[rowNum, colNum] + "\t");
                }
                Console.WriteLine();
            }
            Console.ReadLine();
        }
    }
}
Если нет, - напиши подробнее что за "Mas" и что в нем лежит.
1
8 / 8 / 1
Регистрация: 17.01.2010
Сообщений: 172
06.02.2012, 22:44  [ТС]
Спасибо за помощь. Разобрался сам после просмотра отладочной информации и пересчета всего в ручную. Ошибка была в том что я числа из stringArray не уменьшал на 1 т.к. отсчет в матрицах идет с нуля.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.02.2012, 22:44
Помогаю со студенческими работами здесь

Сортировка файлов по папкам по своему расширению
есть папка с файлами у файлов рандомные расширения надо создать папки которые называются как расширение и запихнуть в папку с названием...

Сортировка массива по правилу "пузырька"
Есть массив, который сортируется по правилу &quot;пузырька&quot; по возрастанию. Нужна такая сортировка, при которой сначала идут непарные значения...

Удалить из массива все элементы, кратные своему номеру
Дан массив целых чисел (n=12), заполненный случайным образом числами из промежутка . Удалить из него все элементы, кратные своему номеру.

Вставить число k после всех элементов массива, кратных своему индексу.
Всем привет! :) Не могу решить задачу.Вставить число k после всех элементов массива, кратных своему индексу. Заранее спасибо!

Вставить число k после всех элементов массива, кратных своему номеру
дан массив чисел из 15 элементов,заполненных случайным образом числами из промкжутка 1)вставить число k после всех элементов,кратных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru