Var s,sr:string; i,j,n:integer; pr:array of char=('.',',',';',':','!','?'); begin readln(s); s:=s.Trim; var ars:=s.ToWords(); s:=''; for i:=0 to ars.Length-1 do s+=ars[i]+' '; s:=s.Trim; i:=0; while i<>s.Length do begin inc(i); if (s[i] in pr) and (s[i-1]=' ') then delete(s,i-1,1); end; i:=0; while i<>s.Length-1 do begin inc(i); if (s[i] in pr) and (s[i+1]<>' ') then insert(' ',s,i+1); end; s:=s.Trim; writeln(s); end.
Пример ввода: Очень, очень ,очень , очень ,очень,очень много слов. Пример вывода: Очень, очень, очень, очень, очень, очень много слов.
Відповідь:
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
void SetArray(int *A,int N){
for(int i = 0; i < N; i++){
A[i] = rand() % 10 + 1;
}
}
void PrintArray(int *A,int N){
for(int i = 0;i < N; i++){
cout << A[i] << " ";
}
}
void expression(int *A,int N,int k,int l){
for(int i = k; k < l; k++ , l--){
swap(A[k], A[l]);
}
}
int main(){
srand(time(NULL));
setlocale(LC_ALL , "Ukrainian");
int N,k,l;
cout << "Введiть розмiр масиву: ";
cin >> N;
int *A = new int[N];
SetArray(A,N);
PrintArray(A,N);
cout << "\nВведiть k: ";
cin >> k;
cout << "Введiть l: ";
cin >> l;
expression(A,N,k,l);
PrintArray(A,N);
delete[] A;
return 0;
}
Var
s,sr:string;
i,j,n:integer;
pr:array of char=('.',',',';',':','!','?');
begin
readln(s);
s:=s.Trim;
var ars:=s.ToWords();
s:='';
for i:=0 to ars.Length-1 do
s+=ars[i]+' ';
s:=s.Trim;
i:=0;
while i<>s.Length do
begin
inc(i);
if (s[i] in pr) and (s[i-1]=' ') then delete(s,i-1,1);
end;
i:=0;
while i<>s.Length-1 do
begin
inc(i);
if (s[i] in pr) and (s[i+1]<>' ') then insert(' ',s,i+1);
end;
s:=s.Trim;
writeln(s);
end.
Пример ввода:
Очень, очень ,очень , очень ,очень,очень много слов.
Пример вывода:
Очень, очень, очень, очень, очень, очень много слов.