Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программа помогающая в изучении иностранных языков в С++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Пробелы в строке http://www.cyberforum.ru/cpp-beginners/thread822870.html
Здравствуйте,подскажите пожалуйста ,как организовать сторку с пробелами.В этом коде строку то считывает до первого пробела ,а мне нужна программа которая будет работать со всей строкой.Заранее...
C++ Двумерные массивы. Вычислить произведение всех столбцов массива Помогите плиз) Вычислить произведение всех столбцов массива, в которых первый элемент больше элементов расположенных на главной и побочной диагонали http://www.cyberforum.ru/cpp-beginners/thread822868.html
Задача "Цветная бумага" C++
N прямоугольников (1 ≤ N ≤ 1000) из цветной бумаги положили на лист белой бумаги шириной A и длиной B. Стороны прямоугольников параллельны сторонам листа. Все прямоугольники находятся в пределах...
Считывание данных из файла с 4мя столбцами C++
Необходимо считать данные в 4 переменные из 4х разных столбцов, сам файл весит 10мб. То есть файл огромный, но в нём данные располагаются строго в 4х столбцах, разделенные между собой пробелом....
C++ Лабы по СМО http://www.cyberforum.ru/cpp-beginners/thread822850.html
Доброго времени суток! кто сможет помочь с выполнением 3-х лабораторных работ на С++? сроки до завтра. Запрещено создавать темы с множеством вопросов во всех разделах, кроме разделов платных...
C++ Что будет если так сделать? Всем привет! Что будет если применить такую конструкцию int global; void Test(const int& a) { global = a; } То переменная a СКОПИРУЕТСЯ в переменную global? подробнее

Показать сообщение отдельно
gazlan
3131 / 1906 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
30.03.2013, 18:26
Количество строк - произвольное
Будем считать его не слишком большим - так, чтобы все помещалось в памяти.

1. Считываете файл в массив структур map(eng,rus).
2. Перемешиваете массив (shuffle)
3. Последовательно просматривая массив с начала до конца, показываете правое (rus) слово из пары ... далее по тексту

Вопрос об исключении "отвеченных" слов сформулирован невнятно. Можно добавить флаг EXCLUDE, можно физически удалять элемент, но без повторного перемешивания по достижению конца списка, нужного эффекта не достичь.

Заметьте, что использование rand() для случайного выбора элемента (что неявно подразумевается в условии) неэффективно - слова будут предъявляться с неодинаковой частотой (если не отвечены правильно сразу), нужно именно перемешивание (как при тасовании колоды карт) - это гарантирует однородность.

P.S.

Списки лучше не использовать - перемешивать и перемещаться сложно, а исключение элементов ничего не даст, по сравнению с итерацией массива.

P.P.S.

Если файл так велик, что в память не помещается, в map(.,.) вместо строк храним их индексы.

[OT]
IMHO, для изучения языка, подобная программа совершенно бесполезна. Слова должны изучаться в контексте.
[/OT]
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru