/*Определить количество латинских букв в строке a[m] с учетом регистра*/

 

#include "stdafx.h"

#include <stdio.h>

#include <conio.h>

#include <string.h>

#include <stdlib.h>

 

int kol(char *a);

void main()

{

      char *a;

      int m;

      printf("Enter max dlinu stroki\n");

      scanf("%d",&m);

      a=(char*)malloc(m*sizeof(char));

      int n;

      printf("Enter stroku\n");

      flushall();

      gets(a);

      n=kol(a);

      printf("Kol-vo latin bukv = %d",n);

      getch();

      free(a);

}

 

int kol(char *a)

{

      int i,n=0;

      for(i=0;i<strlen(a);i++)

            if ((a[i]>='a' && a[i]<='z')||(a[i]>='A' && a[i]<='Z'))

                  n++;

      return n;

}


/*Программа упорядочивает n слов по алфавиту (только для латиницы)*/

 

#include<stdafx.h>

#include<stdio.h>

#include<conio.h>

#include<string.h>

#include<stdlib.h>

 

struct word

{

      char w[20];

};

void sort(word *a,int n);

void main()

{    

      word *s;

      int i,n;

      printf("Enter a number of words: ");

      scanf("%d",&n);

      s=(word*)malloc(n*sizeof(word));

      printf("Enter words\n");

      for(i=0;i<n;i++)

      {    

            flushall();

            gets(s[i].w);

      }

      sort(s,n);

      printf("\n");

      printf("Sorting completed:\n");

      for(i=0;i<n;i++)

            puts(s[i].w);

      getch();

}

void sort(word *a,int n)

{

      int i,j,im,k,fl=1;

      word temp;

      char min[20];

      for(i=0;i<n-1;i++)

      {    

            strcpy(min,"z");

            for(j=i;j<n;j++)

            {

                  if(strcmp(a[j].w,min)<0)

                  {

                        strcpy(min,a[j].w);

                        im=j;

                        temp=a[im];

                        a[im]=a[i];

                        a[i]=temp;

                  }

            }

      }

}


/*Вывести на экран подстроку, содержащую максимальное число подряд идущих цифр.*/

 

#include <stdafx.h>

#include <conio.h>

#include <string.h>

#include <stdio.h>

#include <stdlib.h>

 

void change(char *a,char *b);

 

int main()

{    

      char a[20];

      char *b;

      int i,j;

      printf("Enter text\n");

      gets(a);

      flushall();

      b=(char*)calloc(strlen(a),sizeof(char));

      change(a,b);

      printf("Changed text \n");

      puts(b);

      getch();

      free(b);

      return 0;

}

 

void change(char *a,char *b)

{    

      int i,im,m,j=0,fl=0;

      int k=0, max=0;

      for (i=0;i<strlen(a);i++)

      {    

            if (*(a+i)>'0'&&*(a+i)<'9')

            {    

                  k++;

                  if(fl==0)

                        im=i;

                  fl=1;

            }

            else

                  if(k>max)

                  {    

                        max=k;

                        m=im;

                        k=0;

                        fl=0;

                  }

      }

      if(k>max)

      {    

            max=k;

            m=im;

      }

      for (i=m;i<m+max;i++)

      {    

            *(b+j)=*(a+i);

            j++;

      }

}


/*В строке состоящий из не более чем 20 символов определить наиболее часто встречающуюся цифру.*/

 

#include "stdafx.h"

#include "conio.h"

#include "string.h"

 

int func( char *s);

 

int main()

{

      char s[20];

      printf("Vvedite stroky\n");

      gets(s);

      flushall();

      printf("Iscomoe chislo %d", func(s));

      getch();

      return 0;

}

 

int func(char *s)

{

      int i,j,id,n[10];

      int max=-1;

      for (i=0; i<10; i++)

            n[i]=0;

      for (i=0; i<10; i++)

            for (j=0; j<20; j++)

                  if (s[j]==('0'+i))

                        n[i]=n[i]+1;

      for (i=0; i<10; i++)

            if (n[i]>max)

            {

                  max=n[i];

                  id=i;

            }

      return id;

}

 


/*Из строки a[20] вычеркнуть символ, введенный с клавиатуры.*/

 

#include <stdafx.h>

#include <conio.h>

#include <string.h>

#include <stdio.h>

#include <stdlib.h>

 

void change(char *a,char *b,char n);

int main()

{

      char a[20];

      char *b;

      int i,j;

      char n;

      printf("Enter text\n");

      gets(a);

      flushall();

      printf("Enter symbol\n");

      scanf("%c",&n);

      flushall();

      b=(char*)calloc(strlen(a),sizeof(char));

      change(a,b,n);

      printf("Changed text \n");

      puts(b);

      getch();

      free(b);

      return 0;

}

 

void change(char *a,char *b,char n)

{

      int i;

      int k=0;

      for (i=0;i<strlen(a);i++)

            if (*(a+i)!=n)

            {

                  *(b+k)=*(a+i);

                  k++;

            }

}


/*В строке найти подстроку, включающую наибольшее количество подряд идущих цифр, и распечатать слово, состоящее из элементов данной подстроки.*/

 

#include "stdafx.h"

#include "stdio.h"

#include "conio.h"

#include "string.h"

 

void find(char*s,char*res);

int main()

{    

      char s[40],w[40];

      printf("Enter srtoku:\n");

      gets(s);

      find(s,w);

      printf("Iskomoe slovo:\n");

      puts(w);

      getch();

      return 0;

}

void find(char*s,char*res)

{    

      int i,st,mi,max,c;

      max=0;

      c=0;

      for(i=0;i<strlen(s);i++)

            if(s[i]>='0'&&s[i]<='9')

            {    

                  if(c==0)

                        st=i;

                  c++;

            }

            else

            {    

                  if(c>max)

                  {    

                        max=c;

                        mi=st;

                  }

                  c=0;

            }

            if(c>max)

            {    

                  max=c;

                  mi=st;

            }

      for(i=0;i<max;i++)

            res[i]=s[mi+i];

      res[max]='\0';

}


/*Определить количество подстрок st в строке s.*/

 

#include "stdafx.h"

#include <stdio.h>

#include <conio.h>

#include <string.h>

 

int kol(char s[],char st[]);

void main()

{

      char s[30], st[30];

      printf("Enter stroku\n");

      gets(s);

      flushall();

      printf("Enter podstroku\n");

      gets(st);

      printf("Kol-vo podstrok: ");

      printf("%d",kol(s,st));

      getch();

}

int kol(char s[], char st[])

{

      int i,j,n=0;

      for(i=0;i<strlen(s)-strlen(st)+1;i++)

      {

            int z=0;

            for(j=0;j<strlen(st);j++)

            {

                  if(s[i+j]==st[j])

                        z++;

                  if(z==strlen(st))

                        n++;

            }

      }

      return n;

}


/*Определить количество подстрок st в строке s.*/

 

# include<stdafx.h>

# include<stdio.h>

# include<string.h>

# include<conio.h>

 

int kp(char s[], char st[]);

void main()

{

      char s[30], st[30];

      gets(s);

      flushall();

      gets(st);

      printf("%d",kp(s,st));

      getch();

}

int kp(char s[], char st[])

{

      int n;

      char*p;

      p=strstr(s,st);

      n=0;

      while (p)

      {

            n=n+1;

            p=strstr(p+1,st);

      }

      return(n);

}


/* Составить массив из слов преложения, начинающихся на заданную букву.*/

 

#include "stdafx.h"

#include <stdio.h>

#include <conio.h>

#include <string.h>

 

int masstr(char *s,char st[][50],char c);

void main()

{

      char s[50], st[25][50];

      char c;

      printf("Enter bukvu\n");

      scanf("%c",&c);

      flushall();

      printf("Enter stroku\n");

      gets(s);

      int k=masstr(s,st,c);

      printf("Iskomye slova\n");

      for (int i=0;i<k;i++)

            puts(st[i]);

      getch();

}

 

int masstr(char *s,char st[][50],char c)

{

      int k=0;

      char *p;

      p=strtok(s," ");

      while (p)

      {    

            if(p[0]==c)

            {

                  strcpy(st[k],p);

                  k++;

            }

            p=strtok(NULL," ");

      }

      return k;

}


/*Из строки вычеркнуть символ, введенный с клавиатуры.*/

 

#include <stdafx.h>

#include <conio.h>

#include <string.h>

#include <stdio.h>

#include <stdlib.h>

 

void change(char *a,char *b,char n);

 

int main()

{

      char a[20];

      char *b;

      int i,j;

      char n;

      printf("Enter symbol\n");

      scanf("%c",&n);

      flushall();

      printf("Enter text\n");

      gets(a);

      flushall();

      b=(char*)calloc(strlen(a),sizeof(char));

      change(a,b,n);

      printf("Changed text \n");

      puts(b);

      getch();

      free(b);

      return 0;

}

 

void change(char *a,char *b,char n)

{    

      int i;

      int k=0;

      for (i=0;i<strlen(a);i++)

            if (*(a+i)!=n)

            {

                  *(b+k)=*(a+i);

                  k++;

            }

}


/*В массиве из 6 слов упорядочить символы в каждом слове по алфавиту*/

 

#include "stdafx.h"

#include "stdio.h"

#include "conio.h"

#include "string.h"

 

void abc (char s[]);

 

void main()

{

      char s[6][20];

      int i;

      printf("Enter slova\n");

      for (i=0;i<6;i++)

            gets(s[i]);

      for (i=0;i<6;i++)

            abc(s[i]);

      printf("\nNew slova\n");

      for (i=0;i<6;i++)

            puts(s[i]);

      getch();

}

 

void abc(char s[])

{

      int n;

      char temp;

      n=strlen(s);

      for (int i =0; i<n-1; i++)

            for (int j=i; j<n; j++)

                  if (s[i]>s[j])

                  {

                        temp=s[i];

                        s[i]=s[j];

                        s[j]=temp;

                  }

}


/*Упорядочить 6 слов в массиве по алфавиту*/

 

# include <stdafx.h>

# include <stdio.h>

# include <string.h>

# include <conio.h>

# include <stdlib.h>

 

void abc(char s[][20], int n);

 

void main()

{    

      char s[6][20];

      int i;

      printf("Enter massive\n");

      for (i=0; i<6; i++)

      {    

            flushall();

            gets(s[i]);

      }

      printf("\nNew massive\n");

      abc(s,6);

      for (i=0;i<6;i++)

            puts(s[i]);

      getch();

}

 

void abc(char s[][20], int n)

{    

      int i,j,im;

      char min[20];

      for (i=0;i<n-1;i++)

      {          

            im=i;

            strcpy(min,s[i]);

            for(j=i+1;j<n;j++)

                  if(strcmp(min,s[j])>0)

                  {    

                        im=j;

                        strcpy(min,s[j]);

                  }

                  strcpy(s[im],s[i]);

                  strcpy(s[i],min);

      }

}


/*Упорядочить n слов в алфавитном порядке (только латиница)*/

 

#include<stdafx.h>

#include<stdio.h>

#include<conio.h>

#include<string.h>

#include<stdlib.h>

 

struct word

{    

      char w[20];

};

 

void sort(word *a,int n);

 

void main()

{    

      word *s;

      int i,n;

      printf("Enter a number of words: ");

      scanf("%d",&n);

      s=(word*)malloc(n*sizeof(word));

      printf("Enter slova:\n");

      for(i=0;i<n;i++)

      {    

            flushall();

            gets(s[i].w);

      }

      sort(s,n);

      printf("Sorting completed:\n");

      for(i=0;i<n;i++)

            puts(s[i].w);

      getch();

}

 

void sort(word *a,int n)

{    

      int i,j,im,k,fl=1;

      word temp;

      char min[20];

      for(i=0;i<n-1;i++)

      {

            strcpy(min,"z");

            for(j=i;j<n;j++)

            {    

                  if(strcmp(a[j].w,min)<0)

                  {

                        strcpy(min,a[j].w);

                        im=j;

                        temp=a[im];

                        a[im]=a[i];

                        a[i]=temp; 

                  }

            }

      }

}

Сайт создан в системе uCoz