Помогите, пожалуйста, перевести программу с Pascal'я на С++, буду очень признателен! Вот условие: Описать функцию InvertStr(SS, KK, NN) строкового типа, возвращающую инвертированную подстроку строки SS, содержащую в обратном порядке NN символов строки SS, начиная с ее KK-го символа. Если KK превосходит длину строки SS, то возвращается пустая строка; если длина строки меньше K+NK+N, то инвертируются все символы строки, начиная с ее KK-го символа. Вывести значения функции InvertStr для данной строки SS и каждой из трех пар положительных целых чисел: (K1K1, N1N1), (K2K2, N2N2), (K3K3, N3N3).
program param;
type
St=String;
var
S:St;
i,K,N:integer;
Function InvertStr(S:St;K,N:integer):String;
var
i:integer;
Stemp:String;
begin
if K>Length(s) then InvertStr:=''
else
begin
if K+N-1>Length(s) then N:=Length(s)-K+1;
for i:=K+N-1 downto K do Stemp:=Stemp+S[i];
end;
InvertStr:=Stemp;
end;
begin
Write('S:');
Readln(S);
for i:=1 to 3 do
begin
Write('K: ');
readln(K);
Write('N: ');
readln(N);
Writeln(InvertStr(S,K,N));
end;
end.
вот что получилось у меня, но st не принимает значение
#include <iostream>
#include <string>
using namespace std;
string s;
int i,k,n;
string st (string s,int k,int n)
{
string stemp,st;
if (k>s.length())
{
st='\0';
} else
{
if (k+n-1>s.length())
{
n=s.length()-k+1;
for (i=k+n-1;i<k+1;i++)
{
stemp=stemp+s[i];
}
}
}
st=stemp;
return st;
}
int main()
{
cout<<"s= ";
getline(cin,s);
for (i=0;i<3;i++)
{
cout<<"K: ";
cin>>k;
cout<<"N: ";
cin>>n;
cout<<"st= "<<st(s,k,n);
}
return 0;
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Нужно отследить изменения в каталоге и его подкаталогахДля этого использую функцию ReadDirectoryChangesW, но она постоянно возвращает 0
В данном коде получаю Ошибка сегментирования (сделан дамп памяти)Компилирую под Linux
Пытаюсь явно подключить dll библиотеки в свой c++ проект, вычитал, что делается это по такому принципу:
ЗдравствуйтеНе получается использовать Protocol Buffers в VS 2017 (Debug x86)