C++ для начинающих. Строки. Заданные предложения в случайном порядке

Работу со строками можно рассматривать очень долго и при этом находить много тем, помогающих нам строить фундамент наших знаний.
Задача:

  • Задан набор предложений. Поменять предложения местами.
Во-первых, нужно сразу определить: задавать ли предложения в исходном коде программы или задавать их в ходе работы программы, или вообще читать файл и делить текст на предложения. Задавать предложения в ходе работы программы сложнее немного, а чтение из файла ещё чуть-чуть сложнее. Я буду использовать ввод предложений с клавиатуры: так мы заранее будем знать, что предложение является предложением, а каждое предложение будет записано в массив строк.
После того, как предложения разбросаны по ячейкам массива, всё, что нужно, это применить алгоритм перемешивания массива:
Необходимый минимум умений:

  • Перестановка переменных местами
  • Работа с массивами
В ходе работы программы будут вводиться предложения, количество которых заранее неизвестно. Для того, чтобы прекратить ввод, нужно после подтверждения очередного ввода нажатием Enter в Windowss нажать ctrl+Z, либо в Linux нажать Ctrl+D и ещё раз нажать Enter. По ходу ввода предложений в массив тикает счётчик, считающий каждое введённое предложение.

Возможно, кому-то код покажется сложным. Если вы такой человек, то для лучшего понимания попробуйте написать программу, перемешивающую значения в одномерном массиве обычных чисел. Алгоритм простой: создание вспомогательного массива, хранящего числа по порядку, перемешивание этих чисел и использование ячеек этого вспомогательного массива в качестве индексов основного массива. В показанном в статье примере используется именно этот принцип для перемешивания предложений, только вместо присваивания используются функции копирования строк, потому что символьные сроки присвоить напрямую друг в друга нельзя. Хотя если использовать объекты типа string, то можно, конечно.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Поиск

 
     

Случайная книга в электронном формате

https://www.litres.ru/uriy-revich/prakticheskoe-programmirovanie-mikrokontrollerov-atmel-avr-na-yazyke-assemblera-3-e-izdanie-11838168/?lfrom=15589587
Яндекс.Метрика