Pascal ABC
Процедуры и функции
Разработать программу, решающую пример.
сумму кубов чисел a, b, c, если
a=9.8 arctg^2 |e^2x^3-0.25|;
b=lg^3(5.3x);
c=cos^3(9|x-y|)/5*x*y
Исходные данные, которые нужно ввести через клавиатуру: x=1.17 y=28
ответ должен получится: 12062
begin
var a,b,c:integer;
write('Введите числа a,b: '); readln(a,b);
for var l:=1 to 3 do if (a.ToString[l]+a.ToString[l+1])=b.ToString then inc(c);
writeln('Результат: ',(c>0)? c.ToString:'Число a не является внутренним для b');
end.
Примечание:
Если хотите сделать защиту от некорректного ввода, то программа будет выглядеть так:
begin
var a,b,c:integer;
write('Введите числа a,b: '); readln(a,b);
if (a.ToString.Length<>4) or (a<0) then
writeln ('Число а должно быть положительным четырехзначным')else
begin
if (b.ToString.Length<>2) or (b<10) then
writeln ('Число b должно быть положительным двухзначным') else
begin
for var l:=1 to 3 do if (a.ToString[l]+a.ToString[l+1])=b.ToString then inc(c);
writeln('Результат: ',(c>0)? c.ToString:'Число a не является внутренним для b');
end;
end;
end.
#include <iostream>
#include <string>
#include <algorithm>
#include <Windows.h>
using namespace std;
bool check_alphabet(char symbol) {
string alphabet = "";
for (size_t j = 0; j < alphabet.size(); j++)
{
if (alphabet[j] == symbol) {
return true;
}
}
return false;
}
pair<int,string> erase_counter_char_in_str_not_latin(string str) {
int i = 0;
int count = 0;
while (i <= str.size() - 1) {
if (not (check_alphabet(toupper(str[i] {
str.erase(str.begin() + i);
count++;
i--; // раз удалили, то нужно вернуться назад на один: i~45m -> i5~m (i уже идёт на следующий)
}
i++;
}
return make_pair(count, str);
}
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
setlocale(LC_ALL, "Russian");
string str;
cout << "Введите строку: " << endl;
cin >> str;
pair<int,string> pair_count_str = erase_counter_char_in_str_not_latin(str);
cout << endl << "Удалено: " << pair_count_str.first << endl;
cout << "Конечная строка: " << pair_count_str.second;
}