Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 02.12.2009
Сообщений: 35

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

30.03.2013, 13:47. Показов 1931. Ответов 8
Метки нет (Все метки)

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

Написать программу , помогающую в изучении иностранных языков. Последовательность работы программы следующая:

1) Открывает файл, созданный1 пользователем.(Файл должен содержать два столбца слов, разделенных пробелами. В левом столбце иностранные слова, в правом-русские. Количество строк-произвольное.) 2) в произвольном порядке выводит на экран слова на русском языке, а пользователь вводит с клавиатуры соответствующие им слова на иностранном . В случае правильного ответа программа исключает слово из списка. В случае неправильного ответа- на экран выводится правильное написание слова. 3) Программа прекращает работу в том случае, когда все слова будут исключены из списка.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.03.2013, 13:47
Ответы с готовыми решениями:

На кафедре иностранных языков работает 18 преподавателей
Нужно решить с помощью кругов эйлера. На кафедре иностранных языков работает 18 последователей, из них 12 преподают английский язык, 11 -...

Информационная система «Курсы иностранных языков»
Вы проектируете информационную систему для курсов иностранных языков. Данные курсы предоставляют желающим услуги по обучению нескольким...

Запись и чтение из тектового файла иностранных языков(греческий, Немецкий и т.п.)
Пишу небольшое приложение на c++ builder 6.0 по работе с текстом. Столкнулся с задачей сохранения в текстовик из элемента Memo текста на...

8
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 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
 Аватар для IrineK
2023 / 1641 / 425
Регистрация: 23.02.2011
Сообщений: 6,002
Записей в блоге: 25
31.03.2013, 20:30
Функция для shuffle

C++
1
2
3
4
5
6
7
8
9
10
11
int *FisherYates(int n, int *num)
{   int i = n-1, j , temp;
    while(i)
    {   j = rand()%(i+1);
        temp = num[i];
        num[i] = num[j];
        num[j] = temp;
        i--;
    }
    return num;
}
В готовом виде - как-то так:
Миниатюры
Программа помогающая в изучении иностранных языков в С++  
1
0 / 0 / 0
Регистрация: 02.12.2009
Сообщений: 35
02.04.2013, 07:13  [ТС]
IrineK, спасибо! а у вас эта программа работает?
0
 Аватар для IrineK
2023 / 1641 / 425
Регистрация: 23.02.2011
Сообщений: 6,002
Записей в блоге: 25
02.04.2013, 11:17
Вряд ли бы картинки рисовались просто так. Это - иллюстрация к готовой программе. Уже много лет приходится учить также и английскому будущих "спецов"), поэтому прога показалась милым подспорьем в наборе инструментов. Также заинтересовал shuffle в Википедии и было 2 часа свободного времени )
0
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
02.04.2013, 16:28
Вот здесь еще, нечто сходное обсуждается: Игра: Загрузка иностранного языка в мозг
1
serj1985
14.05.2014, 22:08
доброе время суток всем.кто может помочь создать програму для изучения иностраных языков для детей-за оплату труда)
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
15.05.2014, 00:57
Цитата Сообщение от serj1985 Посмотреть сообщение
програму для изучения иностраных языков
И что вы под этим понимаете?
0
15.05.2014, 01:50

Не по теме:

Цитата Сообщение от gazlan Посмотреть сообщение
И что вы под этим понимаете?
Непосредственную загрузку в моск :D

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.05.2014, 01:50
Помогаю со студенческими работами здесь

Составить программу для обработки анкет слушателей курсов иностранных языков
Составить для обработки анкет слушателей курсов иностранных языков. Графический интерфейс должен в себя включать следущие : Скрин в ...

Собираю команду для разработки приложения по изучению иностранных языков для Blackberry
Собираю команду для разработки приложения по изучению иностранных языков для Blackberry, Iphone & Android. желающие влиться в команду...

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

Программа по изучению языков
Здравствуйте, помогите пожалуйста утопающему. Пишу прогу по изучению языков. Мне нужны ваши советы, как и где можно хранить данные?

Нейросеть, помогающая в работе с проектом
есть база данных INSERT INTO `cms_trouble` (`id`, `category_id`, `user_id`, `pubdate`, `title`, `description`, `content`,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru