Показать сообщение отдельно

  #8  
Старый 21.11.2005, 23:24
[1Ns]
Новичок
Регистрация: 24.10.2005
Сообщений: 6
Провел на форуме:
20362

Репутация: 0
Отправить сообщение для [1Ns] с помощью ICQ
По умолчанию

Нам недавно тож такое задавали, я делал так:
Код:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>

void main()
{
 char *s;
 int r,i,j=0,k=0,k1=0,c[50],k2=100,min,max,n,n1,m=0;
 clrscr();
 printf("Vvedite stroku\n\n  ");
 fflush(stdin);
 gets(s);
 r=strlen(s);
 for (i=0;i<r;i++)
  if (*(s+i)!=' '&&*(s+i)!='.'&&*(s+i)!=','&&*(s+i)!='-') k+=1;
  else if (k!=0) {
		  m+=1;
		  if (k<k2) {min=k;n=i-min;k2=k;}
		  if (k>k1) {max=k;n1=i-max;k1=k;}
		  c[j]=k;j+=1;
		  k=0;
		 }
 if (k!=0&&k<k2) {min=k;n=i-min;}
 if (k>k1) {max=k;n1=i-max;}
 if (k!=0) {m+=1;c[j]=k;}
 for (i=0;i<m-1;i++)
  for (j=i+1;j<m;j++)
   if (c[j]<c[i]) {
		   k=c[i];
		   c[i]=c[j];
		   c[j]=k;
		  }
 j=(m-1)/2;
 printf("\n...................:::STATISTIKA:::...................\n\n * Koli4estvo slov   --- %d\n\n * Minimal'noe slovo --- ",m);
 for(i=n;i<n+min;i++) printf("%c",*(s+i));
 printf(" (simvolov - %d)\n\n",min);
 printf(" * Maximal'noe slovo --- ");
 for(i=n1;i<n1+max;i++) printf("%c",*(s+i));
 printf(" (simvolov - %d)\n\n",max);
 printf(" * Koli4estvo simvolov srednego po dline slova --- %d\n\n......................................................",c[j]);
 getch();
}
 
Ответить с цитированием