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

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

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

Показать сообщение отдельно
gazlan
3130 / 1905 / 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]
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru