子串计算

    xiaoxiao2021-03-25  31

    #include <iostream> #include <cstring> using namespace std ; int main () { char ss [ 100 ], s [ 10010 ][ 100 ], a [ 10010 ][ 100 ]; int l , i , j , k , t = 0 , b [ 10010 ]= { 0 } , p = 0 ; cin >> ss ; l = strlen ( ss ); for ( i = 0 ; i < l ; i ++) for ( j = i ; j < l ; j ++) { t ++; for ( k = i ; k <= j ; k ++) s [ t ][ k - i ]= ss [ k ]; s [ t ][ j - i +1 ]= ' \0 ' ; } for ( i = 1 ; i <= t ; i ++) if ( b [ i ]== 0 ) { b [ i ]= 1 ; for ( j = i +1 ; j <= t ; j ++) if ( strcmp ( s [ i ], s [ j ])== 0 ) { b [ j ]=- 1 ; b [ i ]++; } } for ( i = 1 ; i <= t ; i ++) if ( b [ i ]> 1 ) { strcpy ( a [++ p ], s [ i ]); b [ p ]= b [ i ]; } for ( i = 1 ; i <= p ; i ++) for ( j = i +1 ; j <= p ; j ++) if ( strcmp ( a [ i ], a [ j ])> 0 ) { char tmp [ 100 ]; int temp ; strcpy ( tmp , a [ i ]); strcpy ( a [ i ], a [ j ]); strcpy ( a [ j ], tmp ); temp = b [ i ]; b [ i ]= b [ j ]; b [ j ]= temp ; } for ( i = 1 ; i <= p ; i ++) cout << a [ i ]<< " " << b [ i ]<< endl ; return 0 ; } #include <iostream> #include <cstring> using namespace std ; int main () { char ss [ 100 ], s [ 10010 ][ 100 ], a [ 10010 ][ 100 ]; int l , i , j , k , t = 0 , b [ 10010 ]= { 0 } , p = 0 ; cin >> ss ; l = strlen ( ss ); for ( i = 0 ; i < l ; i ++) for ( j = i ; j < l ; j ++) { t ++; for ( k = i ; k <= j ; k ++) s [ t ][ k - i ]= ss [ k ]; s [ t ][ j - i +1 ]= ' \0 ' ; } for ( i = 1 ; i <= t ; i ++) if ( b [ i ]== 0 ) { b [ i ]= 1 ; for ( j = i +1 ; j <= t ; j ++) if ( strcmp ( s [ i ], s [ j ])== 0 ) { b [ j ]=- 1 ; b [ i ]++; } } for ( i = 1 ; i <= t ; i ++) if ( b [ i ]> 1 ) { strcpy ( a [++ p ], s [ i ]); b [ p ]= b [ i ]; } for ( i = 1 ; i <= p ; i ++) for ( j = i +1 ; j <= p ; j ++) if ( strcmp ( a [ i ], a [ j ])> 0 ) { char tmp [ 100 ]; int temp ; strcpy ( tmp , a [ i ]); strcpy ( a [ i ], a [ j ]); strcpy ( a [ j ], tmp ); temp = b [ i ]; b [ i ]= b [ j ]; b [ j ]= temp ; } for ( i = 1 ; i <= p ; i ++) cout << a [ i ]<< " " << b [ i ]<< endl ; return 0 ; }
    转载请注明原文地址: https://ju.6miu.com/read-26071.html

    最新回复(0)