Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 18.05.2016
Сообщений: 3
1

Реверсирование самих строк в очереди

08.11.2016, 14:19. Просмотров 335. Ответов 3
Метки нет (Все метки)

Здравствуйте, нужно создать очередь из произволных числа строк и реверсировать их,то есть изменить порядок следования СТРОК(самих строк) на обратный, help us
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.11.2016, 14:19
Ответы с готовыми решениями:

Вывести содержимое очереди на экран и посчитать количество элементов образованной очереди
Дан текстовый файл. Проанализировать в программе содержимое файла, выберете из него имена и...

Написать программу содержащий описание очереди и моделирует работу очереди
Написать программу (функцию main), содержащий описание очереди и моделирует работу очереди. Размер...

Реверсирование строк
Всем добрый вечер! Как всегда, практикуюсь по книжным примерам. Вот дошёл до темы реверсирования...

Реверсирование строк
Нужно отсортировать строки по алфавиту и вывести в файл реверсированные строки. #include...

3
27 / 27 / 16
Регистрация: 22.04.2016
Сообщений: 86
08.11.2016, 16:26 2
очередь это List<string>, string[] или что? А произвольность чем ограничена?
откуда строки берутся? и когда заканчиваются?

Реверсировать-то вообще говоря просто. Хоть вручную, хоть методом соответствующего класса.

Ну допустим массив строк заполняется пока пользователь не введет exit.
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
  StringBuilder ss = new StringBuilder();
            string rkUse = "";
            Console.WriteLine("Введите строку, нажмите Enter, затем следущую строку. По окончании ввода всех строк наберите stop и нажмите Enter");
            while (rkUse !="stop")
            {
                rkUse = Console.ReadLine();
                if(rkUse!="stop")
                ss.AppendLine(rkUse);
            }
            
            string[] sMas = ss.ToString().Split('\n');
            Array.Resize(ref sMas, sMas.Length-1);
 
            string[] sRev = new string[sMas.Length];
            for (int i = 0; i < sMas.Length; i++)
                sRev[i] = sMas[sMas.Length - i - 1];
 
            foreach (var sm in sMas)
            {
                Console.WriteLine(sm);
            }
            foreach (var sm in sRev)
            {
                Console.WriteLine(sm);
            }
            Console.ReadKey();
Добавлено через 10 минут
ну "stop" конечно, а не exit

Добавлено через 20 минут
ну или короче:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
StringBuilder ss = new StringBuilder();
            string rkUse = "";
            Console.WriteLine("Введите строку, нажмите Enter, затем следущую строку. По окончании ввода всех строк наберите stop и нажмите Enter");
            while (rkUse !="stop")
            {
                rkUse = Console.ReadLine();
                if(rkUse!="stop")
                ss.AppendLine(rkUse);
            }
            
            string[] sMas = ss.ToString().Split('\n');
            Array.Resize(ref sMas, sMas.Length-1);
            Array.Reverse(sMas); 
            foreach (var sm in sMas)
            {
                Console.WriteLine(sm);
            }
            Console.ReadKey();
0
0 / 0 / 0
Регистрация: 18.05.2016
Сообщений: 3
14.11.2016, 21:37  [ТС] 3
Simbiont, Здравствуйте, спасибо.Но боюсь у меня не примут такую работу. Мне нужно задать очередь из строк(например 1,2,3) и изменить порядок следования их обратно( 3, 2, 1) внутри кода,желательно через класс Queue, а если не сложно, то еще и через класс Stack то же самое задание. Консольное приложение.
0
272 / 225 / 123
Регистрация: 24.12.2014
Сообщений: 695
14.11.2016, 22:35 4
Цитата Сообщение от Nosok_I_ananas Посмотреть сообщение
желательно через класс Queue, а если не сложно, то еще и через класс Stack
А Вы знаете, что Stack сам по себе не может изменить порядок элементов? Он исповедует принцип "Первый пришел - последний ушел", так что само задание само по себе бредовое и нарушает общий принцип стека.
Код ниже собирает введённые данные и в конце выгружает их в обратном порядке:
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
using System;
using System.Collections;
 
namespace ConsoleApplication1 {
 
    class Program {
 
        public static Stack stack = new Stack();
 
        static void Main() {
 
            for( int i = 1; i > 0; i++ ) {
                Console.WriteLine( "Пустая строка - завершить работу" );
                Console.Write( "Строка {0}: ", i );
                var newText = Console.ReadLine();
                if( newText == string.Empty )
                    break;
                stack.Push( newText );
                Console.Clear();
            }
 
            Console.Clear();
            Console.WriteLine( "Элементы:" );
 
            while( stack.Count > 0 ) 
                Console.WriteLine( "{0}", stack.Pop() );
            
            Console.ReadLine();
        }
        
 
    }
 
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.11.2016, 22:35

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

Найдите суммарную длину строк, принадлежащих очереди, кроме первой строки очереди
Создать очередь строковых значений, для реализации используя односвязные списки.Реализовать...

Удалить текст между строками БЕЗ удаления самих строк
Например есть такие строки &lt;MediaCodec name=&quot;OMX.MTK.AUDIO.DECODER.MP3&quot; type=&quot;audio/mpeg&quot; /&gt; ...

Удаление пустых строк из очереди
Добрый вечер! у меня возникла проблема с удалением пустых строк, не могу понять, как...

Реверсирование
Помогите пожалуйста! Задача Реверсировать число и увеличить его в 2 раза.


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.