Const glr='АЕЁИОУЫЭЮЯаеёиоуыэюя'; gle='AEIOUYaeiouy';
var s:string; k,i:integer;
begin
writeln('Введите строку:');
readln(s);
k:=0;
for i:=1 to length(s) do
if pos(s[i],glr)+pos(s[i],gle)>0 then k:=k+1;
writeln('k = ',k);
end.
Пример:
Введите строку:
Primer пример.
k = 4
#include <cstdlib>
#include <iostream>
#include <ctime>
#include <math.h>
using namespace std;
void RandArr(double *mas, int d_min,int d_max,int n)
{
int m=d_max - d_min + 1;
for(int i=0; i<n; ++i)
{
mas[i]=rand()%m + d_min;
cout << mas[i]<<" ";
}
cout <<endl;
}
void f(double *xx, double *yy, int k, int n)
{
double t=0; for(int i=0; i<n; ++i)
{
for(int j=1; j<=k; ++j)
t+=cos(j*xx[i])/(j*j);
yy[i]=t;
t=0;
}
}
void PrintStar()
{ for(int i=0; i<80; ++i) cout <<"*"; cout << endl; }
void ShowArr(double *mas,int n)
{
for(int i=0; i<n; ++i)
cout<< mas[i]<<" ";
cout <<endl;
PrintStar();
}
int main(int argc, char *argv[])
{
srand(time(0));
short const N1=20,N2=18,N3=12;
double x1[N1],x2[N2],x3[N3];
int D_MIN[3]={2,-5,7}, D_MAX[3]={10,2,10};
cout <<"X1: ";
RandArr(x1,D_MIN[0],D_MAX[0],N1);
cout <<"X2: ";
RandArr(x2,D_MIN[1],D_MAX[1],N2);
cout <<"X3: ";
RandArr(x3,D_MIN[2],D_MAX[2],N3);
double y1[N1],y2[N2],y3[N3];
f(x1,y1,4,N1);
f(x2,y2,4,N2);
f(x3,y3,4,N3);
cout <<"Y1: ";
ShowArr(y1,N1);
cout <<"Y2: ";
ShowArr(y2,N2);
cout <<"Y3: ";
ShowArr(y3,N3);
cin.get();
return EXIT_SUCCESS;
<span>}</span>
Вводим переменную summ типа int в которой будет записан конечный результат(то есть сколько потребуется нажатий пера).
Считаем строку из исходного файла в переменную stroka типа string.Посимвольно считываем со строки string символы и прибавляем к переменной summ.Переключение регистра или языка тоже суммируется в той же переменной.Если необходимо переключить регистр ,то нужно выбрать переключать его на всё время, или только на следующие касание.Чтобы выбрать проверим сколько букв далее стоят с одним регистром.Если 2 и более последущих букв стоят в одном регистре, то будем использовать Caps Lock т.к в результате потребуется меньше нажатий пера ,чем при использование Shift.
По коду символа будем определять его регистр и принадлежность к какому либо языку.
Ctrl+A - выделить документ целиком
Ctrl+C - копировать выделенный файл
Ctrl+X - вырезать выделенный фрагмент
Ctrl+V - вставить из буфета обмена копированный/вырезанный фрагмент
1. Число 2сс справа налево разбиваем на двоичные триады(по 3 разряда), слева (если надо) дописываемым недостающие нули
010 110 000 101 и приводим эти триады в цифры 8СС
2605
2. В16сс разбиваем на тетрады(по 4 разряда)
0011 0001 1111 1101=31FD
из 8сс в 16сс и наоборот все делается через 2СС
546(8)=101 100 110, разбиваем на тетрады 0001 0110 0110=166(16)