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

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

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

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

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

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

Ваш e-mail не будет опубликован.

Поиск

 
     

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

Яндекс.Метрика
НАГРАДИ АВТОРА САЙТА
WEBMONEY
R375024497470
U251140483387
Z301246203264
E149319127674

В чем заключается многозадачность Windows? Она глючит и pаботает одновpеменно.

Выражаю свою признательность

  • Максиму очень признателен за указание на мои ошибки и неточности.
  • Sergio ===> за оказание помощи в исправлении моих ошибок
  • Gen ===> за правильное стремление помочь другим новичкам и выявления моих ошибок