Написать программу, которая вводит слово, а потом выписывает буквы, которые повторились в слове - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Помогите найти ошибку. задача состоит в том,чтобы: написать программу, которая вводит слово, а потом выписывает буквы, которые повторились в слове. Каждая из букв не должны быть выписана, более одного раза. например: мама: м, а мой вариант в С++
#include <iostream>
 
using namespace std;
 
int main()
{
    int a[256];
    char s[80];
    int i;
    for (i=0;i<=256;i++)
    a[i]=0;
    cin>>s;
    for (i=0;i<=strlen(s);i++)
    if (a[s[i]]==0){cout<<s[i];
    a[s[i]]=1;}
 
    return 0;
}
и мой вариант в С
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    int a[256];
    char s[80];
    int i;
 
    for (i=0;i<=256;i++)
    a[i]=0;
    scanf("%c",&s);
    for (i=0;i<=strlen(s);i++)
    if (a[s[i]]==0){
        printf("%c",s[i]);
    a[s[i]]=1;}

    return 0;
}

Решение задачи: «Написать программу, которая вводит слово, а потом выписывает буквы, которые повторились в слове»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int main()
{
    int a[256];
    char s[80];
    int i;
 
    for (i = 0; i <= 255; ++i)
       a[i] = 0;
 
    scanf("%s",s);
 
    for (i = strlen(s); i >= 0; --i)
       if (a[(int)s[i]] == 0)
       {
          printf("%c",s[i]);
          a[(int)s[i]] = 1;
       }
 
    return 0;
}

Объяснение кода листинга программы

В этом коде:

  1. Объявлены две переменные: массив a размером 256 и строка s размером 80.
  2. В начале программы все элементы массива a инициализируются нулями.
  3. Затем пользователю предлагается ввести строку с помощью функции scanf.
  4. Далее в цикле перебираются все символы введенной строке, начиная с последнего.
  5. Если текущий символ не был встречен ранее (его индекс в массиве a равен нулю), то он выводится на экран, а его индекс в массиве a устанавливается равным единице.
  6. В конце программы возвращается ноль, что означает успешный конец работы программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5
Похожие ответы