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

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

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

Здравствуйте, нужно создать очередь из произволных числа строк и реверсировать их,то есть изменить порядок следования СТРОК(самих строк) на обратный, help us
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.11.2016, 14:19
Ответы с готовыми решениями:

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

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

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

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

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

3
Simbiont
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
Nosok_I_ananas
0 / 0 / 0
Регистрация: 18.05.2016
Сообщений: 3
14.11.2016, 21:37  [ТС] 3
Simbiont, Здравствуйте, спасибо.Но боюсь у меня не примут такую работу. Мне нужно задать очередь из строк(например 1,2,3) и изменить порядок следования их обратно( 3, 2, 1) внутри кода,желательно через класс Queue, а если не сложно, то еще и через класс Stack то же самое задание. Консольное приложение.
0
wmysterio
209 / 187 / 98
Регистрация: 24.12.2014
Сообщений: 563
Завершенные тесты: 8
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
14.11.2016, 22:35
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
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 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru