mariashapar
?>

Дана строка символов, состоящая из заглавных букв алфавита. напишите программу, которая выводит на экран количество гласных букв в считываемой строке (см. программу стр. 46, изменив, которую можно решить

Информатика

Ответы

kolgatin69
A=input()
l=len(a)
c=0
for i range(l):
(пробел)if a[i]=='А' or a[i]=='О' or a[i]== 'У' or a[i]=='Е' or a[i]=='Ы' or a[i]=='И' or a[i]=='Я' or a[i]=='Э' or a[i]=='Ю':
(пробел)(пробел)c+=1
print(c)
SlavaA99

#include <iostream>

#include <string>

#include <conio.h>

#include <stdlib.h>

#include <sstream>

#include <fstream>

using namespace std;

int main()

{

int k; //Переменная выбора - шифрование/дешифрование

int shift; //Величина сдвига

string result = ""; //Строка - результат

cout<<"Enter 1 for encryption and decryption of 2\n";

cin>>k;

switch (k) //Если k

{

case 1: //Если выбрано шифрование

{

cout<<"Enter value shift for encryption\n";

cin>>shift;

if (shift > 26)

shift = shift % 26; //Вычисление сдвига

cout<<"Read of file...\n";

setlocale(LC_ALL,"Russian");//Чтение файла

string s; //Строка считанная из файла

ifstream in("Test.txt");

getline(in,s);

cout<<"Text of file: \n"<<s<<endl;

in.close();

cout<<"Reading complete!\n";

cout<<"Encryption...\n";

for (int i = 0; i < s.length(); i++)

{

//Если не латиница

if (((int)(s[i]) < 65)||((int)(s[i]) > 122))

result += s[i];

//Если буква является строчной

if (((int)(s[i]) >= 97) && ((int)(s[i]) <= 122))

{

//Если буква, после сдвига выходит за пределы алфавита

if ((int)(s[i]) + shift > 122)

//Добавление в строку результатов символ

result += (char)((int)(s[i]) + shift - 26);

//Если буква может быть сдвинута в пределах алфавита

else

//Добавление в строку результатов символ

result += (char)((int)(s[i]) + shift);

}

//Если буква является прописной

if (((int)(s[i]) >= 65) && ((int)(s[i]) <= 90))

{

//Если буква, после сдвига выходит за пределы алфавита

if ((int)(s[i]) + shift > 90)

//Добавление в строку результатов символ

result += (char)((int)(s[i]) + shift - 26);

//Если буква может быть сдвинута в пределах алфавита

else

//Добавление в строку результатов символ

result += (char)((int)(s[i]) + shift);

}

}

cout<<"Encryption complete!\n";

cout<<"Result:\n";

cout<<result; //Вывод результата

break;

}

case 2: //Если выбрано дешифрование

{

cout<<"Enter value shift for decryption\n";

cin>>shift;

if (shift > 26)

shift = shift % 26;

cout<<"Read of file...\n";

setlocale(LC_ALL,"Russian");

string s;

ifstream in("Test.txt");

getline(in,s);

cout<<"Text of file: \n"<<s<<endl;

in.close();

cout<<"Reading complete!\n";

cout<<"Decryption...\n";

for (int i = 0; i < s.length(); i++)

{

//Если не латиница

if (((int)(s[i]) < 65)||((int)(s[i]) > 122))

result += s[i];

//Если буква является строчной

if (((int)(s[i]) >= 97) && ((int)(s[i]) <= 122))

{

//Если буква, после сдвига выходит за пределы алфавита

if ((int)(s[i]) - shift < 97)

//Добавление в строку результатов символ

result += (char)((int)(s[i]) - shift + 26);

//Если буква может быть сдвинута в пределах алфавита

else

//Добавление в строку результатов символ

result += (char)((int)(s[i]) - shift);

}

//Если буква является прописной

if (((int)(s[i]) >= 65) && ((int)(s[i]) <= 90))

{

//Если буква, после сдвига выходит за пределы алфавита

if ((int)(s[i]) - shift < 65)

//Добавление в строку результатов символ

result += (char)((int)(s[i]) - shift + 26);

//Если буква может быть сдвинута в пределах алфавита

else

//Добавление в строку результатов символ

result += (char)((int)(s[i]) - shift);

}

}

cout<<"Decryption complete!\n";

cout<<"Result:\n";

cout<<result; //Вывод результата

break;

}

default: //Если ошибочное значение

{

cout<<"Error value\n";

break;

}

}

getch();

return 0;

}

0

Назаров588

числа в if берутся из кодов ASCII

Объяснение:

#include <stdio.h>

#include <string.h>

int

main ()

{

 char s[10001];

 int i = 0;

 for (int j = 0; j < 10001; j++) {

     scanf("%c", &s[j]);

     if (s[j] == '\n')

         break;

 }

 while (s[i] != '\n')

   {

   if (((int)s[i] > 64 && (int)s[i] < 91) || ((int)s[i] > 96 && (int)s[i] < 123))

     if ((int)s[i] > 124)

s[i] = (char)((int)s[i] - 92); //3-127+32=92

else

       s[i] = (char)((int)s[i] + 3);

   i++;

   }

 for (int j = 0; j < i; j++)

     printf("%c", s[j]);

 return 0;

}

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

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

Популярные вопросы в разделе

Vetroff-11
tokarevaiv
sergey
borisovaks496
Levinalx4938
kraevaea
Zashchitin Denis
Nastyaches4
familumid
Lenuschakova1982316
re22no22
osnovnoisklad3551
Yelizaveta1848
Gennadevna-Darya1216
srkushaev