0

Fortran

Опубликовал: ColeaДата: 19.01.2017-21:44
-pastreaza cuvantul citit in memoria heap;

-realizeaza initializarile;



frecv = 1;

urm = 0.

*/

{

char t[255] ;

int sf;

cuvint = 0;



if (tnod : : ind = = false) {

while ( (sf = scanf ( “%s”,t)) ! = EOF ) {

char *p = t ;

int c ;



// salt peste caractere care nu sant litere

while ((c =*p)&&(c<‘A‘||C>‘Z‘&&

c<‘a’||c>‘z‘))

p++;

if ( c = = 0 ) //nu sant litere

continue;



//pastreaza inceputul cuvantului

char *q = p ;



//cauta inceputul cuvantului

while ((c=*p)&&(c>=‘A‘&&c<=‘z’ ||

c >= ‘a‘ &&c <=‘z‘ ))

p++ ;

*q = ‘\0’ ; //caracterul NUL la sfarsitul cuvantului



//rezerva zona pentru cuvantul in memoria heap

//se apeleaza operatorul new standard



printf ( “ tnod : : tnod %lu\n” , coreleft () );

if ( ( cuvant = new char[strlen(q) +1] ) = = 0 ) {

printf ( “ memorie insuficienta\n” ) ;

exit (1) ;

}

printf( “ tnod : : tnod %lu\n” , coreleft () ) ;



//se transfera cuvantul in zona rezervata

strcpy ( cuvant , q );





//initializari

frecv = 1 ;

urm = 0 ; //pointerul nul

break;

} //sfarsit while



if ) sf = = EOF ) //s-a intalnit EOF

tnod : : ind = true ;

}

} // sfarsit constructor

inline tnod : : ~ tnod ( )

{

//se apeleaza operatorul delete standard

printf (“\ndestructor tnod %lu\n”,coreleft ( ) );

delete cuvint ;

printf (“\ndestructor tnod %lu\n”,coreleft ( ) );}
Fortran [101.5 Kb] (cкачиваний: 13)


Всего комментариев: 0
avatar