Хелпикс

Главная

Контакты

Случайная статья





Символьные строки



Символьные строки

  1. Дана строка, состоящая из латинских символов. Вычислить количество гласных и согласных символов в строке и вывести результат на экран.

 

#include <stdio.h>

#include <iostream>

 

void input_str(char *);

int find(char*, char*);

 

void main()

{

  setlocale(LC_ALL, "Russian");

  char letters1[]="aeiouy";

  char letters2[]="bcdfghjklmnpqrstvwxz";

  char str[100];

  input_str(str);

  printf("Количество гласных: %d\n", find(str, letters1));

  printf("Количество согласных: %d\n", find(str, letters2));

}

 

void input_str(char* str)

{

  puts("Введите строку:");

  gets(str);

}

 

int find(char* str, char* str1)

{

  int k=0;

  for(int i=0; i< strlen(str); ++i)

  {

        if(strchr(str1, str[i]))

               ++k;

  }

  return k;

}

 

  1. Дана строка, состоящая из латинских символов и цифр. Выяснить, сколько цифр присутствует в строке и вывести результат на экран.

 

#include <stdio.h>

#include <iostream>

 

void input_str(char *);

int getNum(char *);

 

void main()

{

  setlocale(LC_ALL, "Russian");

  char str[100];

  input_str(str);

}

 

void input_str(char* str)

{

  puts("Введите строку:");

  gets(str);

  printf("Количество цифр: %d\n", getNum(str));

}

 

int getNum(char* str)

{

  int k=0;

  for(int i=0; i<strlen(str); ++i)

  {

        if(isdigit(str[i]))

               ++k;

  }

  return k;

}

 

  1. Ввести символьную строку. Посчитать количество слов в строке.

 

#include <stdio.h>

#include <iostream>

 

void input_str(char*);

int getNum(char*);

 

void main()

{

  setlocale(LC_ALL, "Russian");

  char str[100];

  input_str(str);

  printf("Количество слов: %d\n", getNum(str));

}

 

void input_str(char* str)

{

  puts("Введите несколько слов:");

  gets(str);

}

 

int getNum(char* str)

{

  int i=0, k=0;

  while(str[i]==' ')

  {

        ++i;

  }

  for(i; i<strlen(str)-1; ++i)

  {

        if(str[i]==' ')

        {

               ++k;

               if(str[i+1]==' ')

                      --k;

        }

  }

  return k+1;

}

 

  1. Ввести символьную строку. Если ее длина кратна 3, удалить все цифры, делящиеся на 3. Вывести преобразованную строку. (При выводе строк использовать функцию puts)

.

#include <stdio.h>

#include <iostream>

 

void input_str(char*);

void delNum(char*);

 

void main()

{

  setlocale(LC_ALL, "Russian");

  char str[100];

  input_str(str);

  if(strlen(str)%3==0)

        delNum(str);

  puts(str);

}

 

void input_str(char* str)

{

  puts("Введите строку:");

  gets(str);

}

 

void delNum(char* str)

{

  for(int i=0; i< strlen(str); ++i)

  {

        if(isdigit(str[i]) && atoi(&str[i])%3==0)

        {

               int j=i;

               while(j<strlen(str))

               {

                      str[j]=str[j+1];

                      ++j;

               }

               --i;

        }

  }

}

 

  1. Ввести символьную строку. Если ее длина равна 10, удалить все буквы - A, ... Z. Вывести преобразованную строку. (При выводе строк использовать функцию puts)

 

#include <stdio.h>

#include <iostream>

 

void input_str(char*);

void delLetters(char*);

 

void main()

{

  setlocale(LC_ALL, "Russian");

  char str[100];

  input_str(str);

  if(strlen(str)==10)

        delLetters(str);

  puts(str);

}

 

void input_str(char* str)

{

  puts("Введите строку:");

  gets(str);

}

 

void delLetters(char* str)

{

  for(int i=0; i< strlen(str); ++i)

  {

        if(isalpha(str[i]))

    {

               int j=i;

               while(j<strlen(str))

               {

                      str[j]=str[j+1];

                      ++j;

               }

               --i;

        }

  }

}

 

  1. Ввести символьную строку. Определить является ли данная строка палиндромом (т.е. с лева на право и с права на лево читается одинаково).

 

 

#include <stdio.h>

#include <iostream>

 

void input_str(char*);

int Check(char*);

 

void main()

{

  setlocale(LC_ALL, "Russian");

  char str[100];

  input_str(str);

  if(!Check(str))

        puts("Не палиндром");

  else

        puts("Палиндром");

}

 

void input_str(char* str)

{

  puts("Введите строку:");

  gets(str);

}

 

int Check(char* str)

{

  int n=strlen(str)-1;

  for(int i=0; i<strlen(str)/2; ++i, n--)

  {

        if(str[i]!=str[n])

        {

               return 0;

        }

  }

  return 1;

}

 

  1. За один просмотр определить сколько раз встречается каждый символ в данной строке.

 

#include <stdio.h>

#include <iostream>

 

void input_str(char*);

void Check(char*, int*);

void output_arr(int*);

 

void main()

{

  setlocale(LC_ALL, "Russian");

  char str[100];

  int arr[255]={0};

  input_str(str);

  Check(str, arr);

  output_arr(arr);

}

 

void input_str(char* str)

{

  puts("Введите строку:");

  gets(str);

}

 

void Check(char* str, int* arr)

{

  for(int i=0; i< strlen(str); ++i)

  {

        ++arr[str[i]];

  }

}

 

void output_arr(int* arr)

{

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

        if(arr[i])

               printf("%c \t %d\n", i, arr[i]);

}

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.