Есть ответ 👍

:сформировать по строке a$ новую строку по правилу: если слово имеет нечётную длину, удалить в нём среднюю букву. qbasic набросок: dim a$ as string, back$ as string, b() as string, i as long, poz as long, n as long print "vvedite stroku"; input a$ back$ = a$: i = 1: n = 1 do poz = instr(i, a$, " ") if poz > 0 then n = n + 1 else exit do i = poz + 1 loop redim b(n) n = 1 do poz = instr(1, a$, " ") if poz > 0 then b(n) = left(a$, poz - 1) a$ = mid(a$, poz + 1) else exit do end if loop a$ = "" for i = 1 to n if len(b(i)) mod 2 = 1 then b(i) = left(b(i), (len(b(i)) - 1)/2) & mid(b(i), (len(b(i)) + 3)/2) a$ = a$ & b(i) & " " next i a$ = trim(a$) print "staraya stroka: " & back$ & chr(13) & chr(10) $ "novaya stroka: " & a$ end подскажите) и если можно исправленный вариант, премного .

157
342
Посмотреть ответы 2

Ответы на вопрос:

Yurk15
4,4(97 оценок)

Принятые в программе дополнительные к условию соглашения: 1. разделителями между словами считаются любые символы, включенные к константу delim 2. все символы, не входящие в delim, образуют алфавит (т.е. "буквы"), из которого может быть составлено каждое слово 3. количество разделителей, окружающих каждое слово, ограничено только здравым смыслом. все разделители будут переданы в строку результата без изменения. 4. если слово содержит только один символ, оно не изменяется, несмотря на то, что единица - нечетное число. в противном случае такое слово было бы исключено. к тому же, слово длиной в один символ не имеет "средней буквы" const delim = " .,; : " dim s as string, s1 as string, word as string, wd as string dim i as integer, n as integer, k as integer input "введите строку: ", s 'обеспечить наличие пробела за последним словом if instr(delim, right$(s, 1)) = 0 then s = s + " " 'начальные присваивания n = len(s): s1 = "": i = 1 do while i < = n    'просматриваем входную строку символ за символом     'ищем первый непробельный символ     wd = ""  'qq     do while (instr(delim, mid$(s, i, 1)) < > 0) and (i < = n)           wd = wd + mid$(s, i, 1)           i = i + 1     loop     'выделяем очередное слово, за которым следует пробельный символ     word = ""     do while (instr(delim, mid$(s, i, 1)) = 0) and (i < = n)           word = word + mid$(s, i, 1)           i = i + 1     loop     'найдено ли слово?     k = len(word)     if k > 0 then  'если слово найдено           ' вырезается средний символ при нечетной длине           if (k > 1) and (k mod 2 < > 0) then                 k = (k - 1) \ 2                 word = left$(word, k) + right$(word, k)           end if           '           'добавляем найденное слово через wd к выходной строке           s1 = s1 + wd + word     end if loop print "результат: " + s1 end примеры работы программы: 1. обычный текст: слова через один пробел введите строку: а роза упала на лапу азора результат: а роза упла на лапу азра 2. использовано больше одного пробела и разделители : и ! введите строку: пример №2: ура!     мы ломим: гнутся шведы! результат: пример №2: уа!     мы лоим: гнутся швды! 3. использовано несколько непробельных разделителей подряд введите строку: пример --№3--: какое небо результат: пример --№3--: каое небо
artem876
4,4(76 оценок)

1. вот так для чего-то решают в // pascalabc.net 3.2, сборка 1356 от 04.12.2016 var   i,j,s: integer; begin   // 1   s: =0;   for i: =1 to 10 do s: =s+i*i;   writeln(s);   // 2   j: =0;   for i: =1 to 50 do       if i mod 2=0 then j: =j+1;   writeln(j) end. результат 385 25 а вот так можно это решить по-нормальному за минуту. // pascalabc.net 3.2, сборка 1356 от 04.12.2016 // внимание! если программа не работает, обновите версию! begin   writeln(1.to(10).select(i-> i*i).sum); // 1   writeln(range(2,50,2).count) // 2 end. результат 385 25

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS