Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <ctype.h>
- int main(){
- int maxsize = 1;
- int N = 0;
- char* text = malloc(maxsize*sizeof(char));
- scanf("%c",&text[N]);
- while(text[N]!='!'){
- N++;
- if(N==maxsize){
- maxsize=maxsize*2;
- text=realloc(text,maxsize*sizeof(char));
- }
- scanf("%c",&text[N]);
- }
- int Nsens=0;
- for(int i=0;i<N+1;i++){
- //printf("%c",text[i]);
- if((text[i]=='!')||(text[i]==';')||(text[i]=='?')||(text[i]=='.')){
- Nsens++;
- }
- }
- char* sentences[Nsens];
- int sentsymbols[Nsens];
- int Ntmp=0;
- int j=0;
- for(int i=0;i<Nsens;i++){
- sentsymbols[i]=0;
- sentences[i]=malloc(sentsymbols[i]*sizeof(char));
- while(text[j]!='!'){
- if((text[j]=='!')||(text[j]==';')||(text[j]=='?')||(text[j]=='.')){
- j++;
- sentsymbols[i]++;
- sentences[i]=realloc(sentences[i],sentsymbols[i]*sizeof(char));
- sentences[i][sentsymbols[i]]=text[j];
- break;
- }
- sentsymbols[i]++;
- sentences[i]=realloc(sentences[i],sentsymbols[i]*sizeof(char));
- sentences[i][sentsymbols[i]]=text[j];
- j++;
- }
- sentences[i][sentsymbols[i]]=text[j-1];
- if (i+1==Nsens){
- sentsymbols[i]++;
- sentences[i]=realloc(sentences[i],sentsymbols[i]*sizeof(char));
- sentences[i][sentsymbols[i]]='!';
- }
- }
- /*for(int i=0;i<Nsens;i++){
- printf("%d",sentsymbols[i]);
- }*/
- int resNsens=Nsens;
- for(int i=0;i<Nsens;i++){
- int ret=0;
- if (sentences[i][1]=='\t'){
- ret=1;
- }
- for(int j=0;j<sentsymbols[i]+1;j++){
- if(isdigit(sentences[i][j])&&(isalnum(sentences[i][j-1]))&&(isalnum(sentences[i][j+1]))){
- ret=1;
- }
- }
- if(ret){
- resNsens--;
- continue;
- }
- for(int j=1;j<sentsymbols[i]+1;j++){//т.к нулевой элемент -пробельный/табуляционный
- printf("%c",sentences[i][j]);
- }
- printf("\n");
- }
- printf("%d %d",Nsens,resNsens);
- free(text);
- for(int i=0;i<Nsens;i++){
- free(sentences[i]);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement