none
Работа со строками в Small Basic RRS feed

  • Вопрос

  • Помогите,пожалуйста,написать программу!Задание:Дана строка. Сформировать новую строку следующим образом: каждое слово исходной строки
    записать слева направо.
    • Перемещено SachinW 1 октября 2010 г. 20:04 MSDN Forums Consolidation (От:Small Basic. Российское сообщество для начинающих рахработчиков.)
    25 сентября 2010 г. 14:06

Ответы

  • Ну вот наверное так

    TextWindow.Write("Введите предложение: ")
    predlog = TextWindow.Read() + Text.GetCharacter(32)
    ind = 1
    For i = 1 To Text.GetLength(predlog)
     If Text.GetSubText(predlog, i, 1) <> Text.GetCharacter(32) Then
      arr[ind] = Text.Append(arr[ind], Text.GetSubText(predlog, i, 1))
     Else 
      For j = Text.GetLength(arr[ind]) To 1 Step -1
       texte = Text.Append(texte, Text.GetSubText(arr[ind], j, 1))
      EndFor
      texte = Text.Append(texte, Text.GetCharacter(32))
      ind = ind + 1
     EndIf
    EndFor
    TextWindow.WriteLine(texte)

    Мне всего 9 лет, поэтому плохо понял вопрос. Правда папа говорит, что знаки препинания она тоже переворачивает, поэтому наверно может быть не правильно. Если знаки нужно оставлять на месте то пиши буду думать :) 

    26 сентября 2010 г. 14:10

Все ответы

  • !тевирП или Привет!

    Если я правильно понял вопрос, то вот ответ:

    TextWindow.Write("Введите предложение: ")
    predlog = TextWindow.Read()
    length = Text.GetLength(predlog)
    For i = length To 1 Step -1
      texte = Text.Append(texte, Text.GetSubText(predlog, i, 1))
    EndFor
    TextWindow.WriteLine(texte)

    Удачи!

    25 сентября 2010 г. 16:04
  • Дело в том, что команды,которые написали Вы переворачивают весь текст сразу, то есть получается: мы ввели-идет снег,а программа выдает-генс теди,а необходимо, чтобы было так: идет снег,а после преобразований-теди генс. То есть,каждое слово переворачивалось, но оставалось на своем месте.Вот, вся проблема в этом
    26 сентября 2010 г. 2:22
  • Да это не проблема, просто надо более понятно задавать вопросы.

    26 сентября 2010 г. 12:31
  • Ну вот наверное так

    TextWindow.Write("Введите предложение: ")
    predlog = TextWindow.Read() + Text.GetCharacter(32)
    ind = 1
    For i = 1 To Text.GetLength(predlog)
     If Text.GetSubText(predlog, i, 1) <> Text.GetCharacter(32) Then
      arr[ind] = Text.Append(arr[ind], Text.GetSubText(predlog, i, 1))
     Else 
      For j = Text.GetLength(arr[ind]) To 1 Step -1
       texte = Text.Append(texte, Text.GetSubText(arr[ind], j, 1))
      EndFor
      texte = Text.Append(texte, Text.GetCharacter(32))
      ind = ind + 1
     EndIf
    EndFor
    TextWindow.WriteLine(texte)

    Мне всего 9 лет, поэтому плохо понял вопрос. Правда папа говорит, что знаки препинания она тоже переворачивает, поэтому наверно может быть не правильно. Если знаки нужно оставлять на месте то пиши буду думать :) 

    26 сентября 2010 г. 14:10