Написать программу в которой вводится строка из слов

Вводится строка, состоящая из букв и пробелов. Составить из входящих в нее букв несколько любых их сочетаний (слов) любой длины. Каждую букву строки можно использовать неограниченное количество раз.

Переменные:

  • s — введенная строка;
  • w — составляемое очередное слово;
  • ls , lw — длины введенной строки и составляемого слова;
  • i — счетчик слов (номер составляемого слова);
  • j — счетчик букв (номер буквы) составляемого слова;
  • let — номер взятой буквы из введенной строки.

После ввода строки измерим ее длину и запишем полученное значение в переменную ls . Допустим, надо составить пять случайных буквосочетаний. Следовательно, все дальнейшие действия будут выполняться в цикле, количество итераций которого равно 5.

Пусть длина очередного слова определяется случайно и может варьировать от 2 символов до 7. Тогда переменной lw надо присвоить случайное число от 2 до 7. Ее значение определяет, сколько раз надо будет взять букву из введенной строки.

Уроки Python / Как найти символ в строке

Pascal

var
s, w: string;
ls, lw, i, j, let: byte;
begin
readln(s);
ls := length(s);
randomize;
for i:=1 to 5 do begin
lw := random(6) + 2;
w := »;
j := 0;
while j < lw do begin
let := random(ls)+1;
if s[let] <> ‘ ‘ then begin
w := w + s[let];
j := j + 1;
end;
end;
writeln(w);
end;
end.

who where how big
eo
oh
owih
owwwog
ehe

Язык Си

#include < stdio.h>
main() char s[100], w[8], c;
short ls, lw, i, j, let;
ls = 0;
while ((s[ls] = getchar()) != ‘n’)
ls += 1;
s[ls] = ‘’;

Читайте также:
Программа Microsoft office powerpoint это

srand(time(NULL));
for (i=0; i < 5; i++) lw = rand() % 6 + 2;
j = 0;
while (j < lw) let = rand() % ls;
if (s[let] != ‘ ‘) w[j] = s[let];
j += 1;
>
>
w[j] = ‘’;
printf(«%sn», w);
>
>

computer printer monitor
oumrmr
mp
nrrte
ripuir
re

Python

# Вариант 1 — без использования строковых методов

from random import randint

# исходная строка и ее длина
s = input()
ls = len(s)

# количество слов = 5
for i in range(5):

# случайная длина слова
lw = randint(2, 7)
# слово
w = »

j = 0
while j < lw:

# индекс случайной буквы
let = randint(0, ls-1)

if s[let] != ‘ ‘:
w += s[let]
j += 1

print(w)

# Вариант 2 — со строковыми методами и функцией choice()

from random import randint, choice

# исходная строка
s = input()

# разделяем строку на слова по пробелам
s = s.split()

# обратно превращаем список в строку,

Определение самого длинного слова в строке


# но без пробелов
s = ».join(s)

# количество слов = 5
for i in range(15):

# случайная длина слова
lw = randint(2, 7)

# список букв для слова
# количество букв = lw
# choice() вызывается lw раз
# каждый раз выбирает случайную букву из s
w = [choice(s) for j in range(lw)]

# превращаем список в строку
w = ».join(w)

print(w)

один два три четыре пять
ар
оид
ррио
дарятыч
врныд

КуМир

алг
нач
лит s, w
цел ls, lw, i, j, let
ввод s
ls := длин(s)
нц для i от 1 до 5
lw := irnd(5) + 2
w := «»
j := 0
нц пока j < lw
let := irnd(ls)
если s[let] <> » » то
w := w + s[let]
j := j + 1
все
кц
вывод w, нс
кц
кон

аааааааа иииииииии ююююююююююю яяяяяяяя
юаюиа
яии
ааиюяюи
ияиа
юяяюаяю

Basic-256

input s$
ls = length(s$)
for i=1 to 5
lw = int(rand * 6) + 2
w$ = «»
j = 0
while j < lw
let = int(rand * ls) + 1
if mid(s$,let,1) <> » » then
w$ = w$ + mid(s$,let,1)
j = j + 1
endif
endwhile
print w$
next i

Читайте также:
Ivms программа для видеонаблюдения как настроить

strong em table ul li ol
lgnlrbr
lnllrts
tlulre
lotnt
runls

Источник: gospodaretsva.com

Написать программу, в которой вводится строка из слов с некоторым количеством пробелов — QBasic

Задание 10.2: (со стр. 177). Написать программу, в которой вводится строка из слов с некоторым количеством пробелов между ними. Удалить лишние пробелы, оставив по одному между словами. Составил вот такую исходную программу с разным количеством пробелов между словами.

uses Crt; Var Word: String; X: Char; ‘это для ввода тире на случай’ begin ClrScr; WriteLn(‘ Ввести текст.’); Write(‘ ‘); ReadLn(Word); WriteLn(‘ ‘, Word)); ReadLn end.

На выходе имеем: Ввести текст. Текст с пробелами между словами. Текст с пробелами между словами. А что дальше?

Эти пробелы между словами надо как-то подсчитать и оставить по одному между словами, а лишние удалить. А как это сделать?

Код к задаче: «Написать программу, в которой вводится строка из слов с некоторым количеством пробелов»

Листинг программы

uses StrUtils; var s : string; begin // Readln(s); s := ‘ test 1 222 3333 4 55555556 ‘; (* Тестовая строка *) s := DelSpace1(s); writeln(‘»‘ + s + ‘»‘); end.

Источник: studassistent.ru

Строки

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru