Строка заполняется и выводится, а функция не работает - C (СИ)
Формулировка задачи:
добрый день))
у меня такая проблемка, программа компилируется, изначально строка заполняется и выводится, а функция не работает, не знаю, где я там напортачила и чего
// opredelitj skoljko raznih simvolov v stroke (simvoli vivesti) #include<stdio.h> #include<string.h> #define N 600 // vivod unikaljnih simvolov void Print(char *s);//prototip funkcii //zapolnenie stoki, na4alo ispolnenija programmi int main() { char c;//peremennajan dlja vvedennogo simvola char stroka[N];//sozdaetsja massiv char int i=0;//inicializacija s4et4ika printf("*.variant"); printf("\n"); puts("\nvvedite stroku simvolov:"); while((c=getchar())!='\n') { stroka[i++]=c; }//konec cikla while stroka[i]='\0';//ograni4itj stroku puts("\nStroka kotoruju vi vveli:"); printf("\n"); puts(stroka); system("pause"); return 0; }//konec main void Print(char *s) { int k, count[256] = {0}; for (k = 0; s[k]; k++) count[s[k]]++; for (k = 0; s[k]; k++) if (count[s[k]] == 1) printf("%c\n", s[k]); system("pause"); }//konec funkcii
Решение задачи: «Строка заполняется и выводится, а функция не работает»
textual
Листинг программы
#include <stdio.h> #include <string.h> int main(void){ char buf[BUFSIZ], *p; while ( printf("String: ") && scanf("%[^\n]%*c", buf) == 1 ){ printf("Singles: "); for ( p = buf; *p; ++p ) if ( strchr(buf, *p) == p ) printf("%c", *p); printf("\n"); } return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек:
<stdio.h>
и<string.h>
. - Объявление переменных:
char buf[BUFSIZ]
и*p;
- Вход в цикл
while
, который будет выполняться до тех пор, пока пользователь не введет пустую строку. - Внутри цикла происходит вывод сообщения
String:
и считывание строки с помощью функцииscanf
, введенная строка сохраняется в переменнойbuf
. - После успешного считывания строки, происходит вывод сообщения
Singles:
и итерация по символам введенной строки. - Для каждого символа проверяется, является ли он уникальным в строке с помощью функции
strchr
. Если символ является уникальным, он выводится на экран. - После вывода всех уникальных символов, происходит переход к следующей итерации цикла.
- По завершению цикла, программа завершается с возвратом значения 0.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д