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

Lua

Войти
Регистрация
Восстановить пароль
 
_Студент_
10 / 10 / 0
Регистрация: 13.12.2015
Сообщений: 103
#1

исправить ошибки кода - Lua

10.06.2017, 19:05. Просмотров 251. Ответов 0
Метки нет (Все метки)

Вот у меня есть такое задание
Javascript
1
2
3
4
5
  В текстовом файле содержатся пары слов или словосочетаний, каждая из которых состоит из слова (словосочетания) на 
 Русском языке, тире и соответствующего слова (словосочетания) на английском языке. Сформировать словарь из данного
 набора слов. Выполнить перевод текста, заданного пользователем, с Русского языка на английский. Для упрощения знаки
 пунктуации не учитывать. Учитывать, что в словаре встречаются как слова, так и словосочетания, а при наличии такого 
 словосочетания в тексте отдавать ему предпочтение.
вот мой код
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
--------------------------------------------------------------------------------- --Переменные
--
 text = {}                                                                        --Хранение введённого пользователем текста
 i = 1                                                                            --Ключевое поле слова
 slovnic = {numb = 0,KS = {""}, rus = {""}, eng = {""}}                                     --слова
 mass = {rus = {""},eng = {""}}                                                   --считывание букв
 massn = 0                                                                        --Определение порядка массива
 prob = 0                                                                         --Определение количества
 
--------------------------------------------------------------------------------- --Ввод пользователя
--
vvod = io.read()                                                                  --Ввод пользователя     
 print(vvod)                            --пробный вывод ввода
 
for word in string.gmatch(vvod,"%S+") do                                          --Конвертирование в отдельные слова
     
    text[i] = word.."  "                                                          --Сохранение в массиве данных
    i = i + 1
end
 
--------------------------------------------------------------------------------- --считыване с файла  
--
  f=io.input("Slovnic.txt")                                                       --открытие файла 
  for i = 1,19 do                                                               --считывание в массив
      mass.rus[i] = io.read("*l") 
                                                --считывание строки   
  end
 
  f=io.input("Slovnic.txt")                                                       --открытие файла 
  
  for i = 1,19 do                                                                 --считывание в массив
      mass.eng[i] = io.read("*l")                                                                    --считывание строки
  end   
  io.close()      
                                                                  --закрытие файла
--------------------------------------------------------------------------------- --занесение в массив рус 
--
massn = 0
  for i = 1, #mass.rus do                                                         --Преобразование в строки
      massn = massn + 1                                                           --переъод к следующему елементу массива
      slovnic.rus[massn] = ""                                                     --присваивание "slovnic.rus" значение
      for word in string.gmatch(mass.rus[i],"%A") do                              --конвертирование в чяр
          if word ~= "-" then  
                                                                 --поиск тире
              slovnic.rus[massn] = slovnic.rus[massn]..word                       --создание строки из чяра
          end  
                
          i = i + 1                                                               --Переход к следующей строке 
      end
      
  end
   
--------------------------------------------------------------------------------- --занесение в массив eng
--
massn = 0
 for i = 1, #mass.eng do                                                         --Преобразование в строки
      massn = massn + 1                                                           --переъод к следующему елементу массива
      slovnic.eng[massn] = ""                                                     --присваивание "slovnic.rus" значение
      for word in string.gmatch(mass.eng[i],"%a") do                              --конвертирование в чяр
          if word ~= "-" then                                                     --поиск тире
              
              slovnic.eng[massn] = slovnic.eng[massn]..word                       --создание строки из чяра
          end
      i = i + 1                                                                   --Переход к следующей строке 
      end
  end
--------------------------------------------------------------------------------- --проверка всего текста(не решено)
 
--------------------------------------------------------------------------------- --перевод по слову
--
 
  for n = 1, #text do                                                             --цыкл для переключения слов
      for i = 1, #slovnic.rus do                                                  -- поиск перевода в файле
          if text[n] == slovnic.rus[i] then                                       -- поиск порядка в русском файле
              io.write(slovnic.eng[i].." ")                                       -- вывод поля с таким же индексом
              prob = prob - 1                                                     --операция инкременты для определения явности, "--"
              else
                  prob = prob + 1                                                 --операция инкременты для определения явности, "++"
          end 
      end
      if prob == #slovnic.rus then                                                --определение на явность перевода
              io.write(text[n].." ")                                              --вывод неудавниегося перевода
      end
      prob = 0                                                                    --обнуление счётчика
  end
осталось понять, как сделать так, что-бы оно переводило и словосочетания
я примерно понимаю как это должно выглядеть
нужно сделать так что-бы оно считало количество слов в строке примерно вот так. Но оно считает только английские слова
Javascript
1
2
3
4
5
6
7
for i = 1,19 do                                                               --считывание в массив
      mass.rus[i] = io.read("*l")
      slovnic.KS[i] = 0
      for word in string.gmatch(mass.rus[i],"%A+") do 
        slovnic.KS[i] = slovnic.KS[i] + 1
      end                                          --считывание строки   
  end
и проверяло каждое слово это нужно цыкл для перебора и поиска но я не могу реализовать нормально это всё(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2017, 19:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос исправить ошибки кода (Lua):

Исправить ошибки кода в валидаторе - HTML, CSS
Всем привет! После проверки кода валидатором заметил такую ошибку <center><h2 >...</h2></center> ругается что я тег < h2 > разместил в...

Исправить ошибки html-кода в валидаторе - HTML, CSS
Здравствуйте, проверил сайт baza-sobolek.ru в сервисе http://validator.w3.org/ Не могли бы вы мне помочь исправить ошибки в коде или...

Исправить ошибки при переводе кода с C++ - C#
переводил программу с с++ на си шарп

CRITICAL_SECTION (необходимо исправить ошибки кода) - C++ WinAPI
Имеется код. Помогите исправить ошибку. #include <windows.h> #include <iostream> using namespace std; CRITICAL_SECTION cs; ...

Как исправить ошибки компиляции кода? - Arduino
#define LED_PIN 13 #define BUTTON_PIN 2 void*setup() { pinMode(LED_PIN,*OUTPUT); // Настроим пин, к которому подключен...

Найти ошибки в куске кода и исправить их - Assembler
.data byteVal. .db. 1,2,3,4 wordVal. dw 1000h,2000h,3000h,4000h ...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.06.2017, 19:05
Привет! Вот еще темы с ответами:

Найти ошибки в коде и исправить эти ошибки (Наследование) - C++
Вот в общем 3 файла, изучаю наследование на примере односвязного и двусвязного списков: list.h (inline) #pragma once class list...

Ошибки при компиляции - исправить ошибки в коде - C (СИ)
Помогите исправить ошибки , не понимаю в чем может быть причина ... #include <conio.h> #include <stdio.h> #include <math.h> ...

Найти ошибки в коде и исправить эти ошибки - C++ - C++
Судя по вываливающейся ошибки, идет двойное освобождение памяти. У самого не получается отловить откуда. A.h #pragma once ...

Найти ошибки в коде и исправить эти ошибки - C++
Есть у меня вот такой код: #include <iostream> using namespace std; class A{ private: int* a; size_t size_; ...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru