Informatică, întrebare adresată de fllorina, 9 ani în urmă

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ăspunsuri la întrebare

Răspuns de artur99
1
#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
Alte întrebări interesante