👤
Fllorina
a fost răspuns

Se da o propozitie formata din literele mici din alfabet si caracterul spatiu. Sa se scrie un program care sa gaseasca cea mai lunga secventa in care literele sa fie ordonate alfabetic.

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