Răspuns :
#include <iostream>
#include <cstring>
using namespace std;
int main(){
char s[200];
cin.get(s, 200);
int i, start_max=0, end_max=0, start=0, end;
for(i=1;i<strlen(s);i++){
if(s[i] != ' ' && (s[i] > s[i-1] && s[i-1] != ' ')){
//litera de pe i
//e mai mare decât cea de pe i-1
//deci alfabetic
end = i;
}else{
if(end - start > end_max - start_max){
start_max = start;
end_max = end;
}
end = 0;
start = i;
}
}
cout<<start_max<<" "<<end_max<<endl;
char s2[200];
strncpy(s2, s+start_max, end_max-start_max+1);
cout<<s2;
}
// start_max și end_max stochează locațiile de început și sfârșit ale șirului alfabetic cel mai lung
// start și end stochează locațiile de început și sfârșit ale ultimului șir alfabetic verificat :))
Să-mi zici, totuși, dacă nu înțelegi
#include <cstring>
using namespace std;
int main(){
char s[200];
cin.get(s, 200);
int i, start_max=0, end_max=0, start=0, end;
for(i=1;i<strlen(s);i++){
if(s[i] != ' ' && (s[i] > s[i-1] && s[i-1] != ' ')){
//litera de pe i
//e mai mare decât cea de pe i-1
//deci alfabetic
end = i;
}else{
if(end - start > end_max - start_max){
start_max = start;
end_max = end;
}
end = 0;
start = i;
}
}
cout<<start_max<<" "<<end_max<<endl;
char s2[200];
strncpy(s2, s+start_max, end_max-start_max+1);
cout<<s2;
}
// start_max și end_max stochează locațiile de început și sfârșit ale șirului alfabetic cel mai lung
// start și end stochează locațiile de început și sfârșit ale ultimului șir alfabetic verificat :))
Să-mi zici, totuși, dacă nu înțelegi