Дана строка, в которой нет русских букв. Написать подпрограмму, которая каждое число в строке заменит на сумму цифр числа (под числом понимается последовательность цифр отделенная пробелами или стоящая в конце или начале строки, все числа целые, не отрицательные).
Использовать заголовок:
procedure Zamena(var s: string);
На Паскаль АВС
#include <stdio.h>
using namespace std;
int main(){
int y;
cin>>y;
y=y%12;
switch (y){
case 4:{cout<<"Mouse"; break;}
case 5:{cout<<"Bull";break;}
case 6:{cout<<"Tiger";break;}
case 7:{cout<<"Rabbit";break;}
case 8:{cout<<"Dragon";break;}
case 9:{cout<<"Snake";break;}
case 10:{cout<<"Horse";break;}
case 11:{cout<<"Goat";break;}
case 0:{cout<<"Monkey";break;}
case 1:{cout<<"Cock";break;}
case 2:{cout<<"Dog";break;}
case 3:{cout<<"Pig";break;}
}
cin.get();
cin.get();
return 0;
}
string a;
string b;
int count = 0;
int count2 = 0;
bool g = false;
bool g2 = false;
Console.WriteLine("Введите первую строку");
a = Convert.ToString(Console.ReadLine());
Console.WriteLine("Введите первую строку");
b = Convert.ToString(Console.ReadLine());
Console.WriteLine("Введите первый символ");
Макрой avatar
char first_symbol = Convert.ToChar(Console.ReadLine());
Console.WriteLine("Введите последний символ");
char second_symbol = Convert.ToChar(Console.ReadLine());
char[] separ = { ' ' };
string[] a1 = a.Split(separ);
string[] b1 = b.Split(separ);
Макрой avatar
for (int i = 0; i < a1.Length; i++)
if (a1[i].IndexOf(first_symbol) == 0 && a1[i].IndexOf(second_symbol) == a1[i].Length - 1)
{
Console.Write(a1[i]+";"); count++; g= true;
}
if (g)
{
Console.WriteLine(" В этой строке :" + count + " слов(о)");
}
Console.WriteLine();
Макрой avatar
for (int i = 0; i < b1.Length; i++)
if (b1[i].IndexOf(first_symbol) == 0 && b1[i].IndexOf(second_symbol) == b1[i].Length - 1)
{
Console.Write(b1[i]+";"); count2++; g2 = true;
}
if (g2)
{
Console.WriteLine(" В этой строке :" + count2 + " слов(о)");
}
Console.ReadLine();
Объяснение: