#include <iostream>
#include <Windows.h>
using namespace std;
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
char s[128]; size_t i = 1; int c=0;
cin.getline(s, 128); s[strlen(s)] = ' ';
for(size_t i=1; i<strlen(s); i++)
if (s[i] == 'а' && s[i - 1]!=' ' && (s[i + 1] == ' ' || s[i + 1] == ',' || s[i + 1] == '.' || s[i + 1] == '!' || s[i + 1] == '?'))
c++;
cout << c << endl;
system("pause");
return 0;
}
Писал на Visual Studio 2017
Смотря что Вы называете циклом. По установившейся терминологии любой цикл состоит из заголовка цикла (по строению которого циклы часто и именуют) и тела цикла. В языке паскаль в заголовке цикла с предусловием стоит ключевое слово while и ключевое слово цикла с параметром for стоять уже не может. Но в теле цикла, которое может иметь любое содержимое, цикл for, конечно же, может встречаться.
А вот язык Алгол, на базе которого Н.Вирт сконструировал свой Паскаль, мог в заголовке цикла содержать очень много всего и, в том числе, смесь while с for:
for x:=p0 step h1 until q-1, q+1 step h2 until t, t+0.17 step h3 while cos(x/2)<0.85 do ...
Но Н.Вирт решил, что такой цикл неэффективен и... оставил от него жалкие ошметки. Возможно, компилятору "стало проще жить", но зато программисты в Паскале лишились возможности не только писать в цикле вещественные значения, но и вынуждены менять целочисленные только на 1 или -1.
Ответ:
120
Объяснение:
на одну запись понадобится:
<em>на идентификатор:</em>
число 999999 помешается в 20 бит 2^20 = 1048576
<em>на наименование:</em>
на 1 символ - 5 бит (2^5=32 что покрывает <em>"20 различных символов", </em>4 бита не хватит 2^4=16)
5бит * 15символов = 75 бит на наименование
<em>на наличие:</em>
есть/нет - 1 бит
складываем 20+75+1=96 бит на запись, это 12 байт
на 10 записей понадобится 120 байт
187 будет иметь такой вид 10111011