V
Veesk18
C++:
#include <stdio.h>
#include <stdlib.h>
/*
Написать функцию, которая подсчитывает общее количество различных символов в
данной строке. Прототип функции int function_name (char *s). Проверить работу
функции на строке, введенной с клавиатуры.
{В приведенных задачах блока не использовать библиотечные функции по обработке строк.
Хранение всех массивов осуществлять в динамической памяти.}
*/
int chars_count(char *s) // описание функции
{
int i=0;
for (i=0; s[i]!=0; i++); // перебираем все символы, увеличивается счетчик i
return --i; // возвращ. знач (i-1)
}
int main()
{
printf("Write a string: \n");
int i=0;
char *s =(char *) malloc(0); // создаем динамическую строку
do
{
realloc(s, sizeof(s)+sizeof(char)); // выделяем память
scanf("%c", &s[i]); // считываем с клавиатуры символ
i++; // увеличиваем счетчик и по кругу
}
while (s[i-1]!=10); // До тех пор, пока не нажат enter
s[i]=0; // посл. символ = 0
i=chars_count(s); // вызываем нашу функцию, передавая ей дин.строку
printf("\nChars count is: %d\n\n", i); // выводим результат на экран
system("PAUSE");
return 0;
}