Если слова разделены одним пробелом, а предложения одним знаком препинания (точкой, восклицательным знаком или вопросительным)
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 | CLS PRINT "Vvedite tekst" INPUT a$ REM schitaem kolvo slov k = 1 FOR i = 1 TO LEN(a$) IF (MID$(a$, i, 1 ) = " ") THEN k = k + 1 NEXT i IF a$ <> "" THEN PRINT "V tekste "; k; " slov" DIM s$(k) REM shitaem kolvo predlozheniy k = 0 FOR i = 1 TO LEN(a$) IF (MID$(a$, i, 1 ) = ".") OR (MID$(a$, i, 1 ) = "!") OR (MID$(a$, i, 1 ) = "?") THEN k = k + 1 END IF NEXT i PRINT "V tekste "; k; " predlozheniy" REM razbivaem tekst na slova d = 1 : k = 0 FOR i = 1 TO LEN(a$) IF MID$(a$, i, 1 ) = " " THEN k = k + 1 : s$(k) = MID$(a$, d, i - d) d = i + 1 END IF IF i = LEN(a$) THEN k = k + 1 : s$(k) = RIGHT$(a$, LEN(a$) - d + 1 ) NEXT i REM sshitaem kolvo slov v kotorih est bukvi E, C, K m = 0 FOR i = 1 TO k a = 0 : b = 0 : c = 0 FOR j = 1 TO LEN(s$(i)) IF UCASE$(MID$(s$(i), j, 1 )) = "E" THEN a = 1 IF UCASE$(MID$(s$(i), j, 1 )) = "C" THEN b = 1 IF UCASE$(MID$(s$(i), j, 1 )) = "K" THEN c = 1 NEXT j IF (a = 1 ) AND (b = 1 ) AND (c = 1 ) THEN m = m + 1 NEXT i PRINT "kolvo slov soderzhashih odnovrem bukvi E, C, K="; m |
Тестирование выполнено в программе QB64 ( Скачать )