• Предмет: Информатика
  • Автор: yanakotic2004rus
  • Вопрос задан 4 месяца назад

Переделать код, функцию strlen изменить на strcat
#include
#include

using namespace std;

void printUniqueChars(const char* str)
{

int len = strlen(str);

for (int i = 0; i < len; ++i)
{
bool find = false;

for (int j = 0; j < len; ++j)
{
if((str[i] == str[j]) && (j != i))
{
find = true;
break;
}
}

if(!find)
{
cout << str[i] << '\n';

}
}
}

int main()
{
char str[] = "kklmmoddffi";

printUniqueChars(str);

return 0;

}
С++

Ответы

Ответ дал: ilyav1nokurov
0

Ответ:

Исправленный код с использованием функции strcat вместо strlen:

#include <iostream>

#include <cstring>

using namespace std;

void printUniqueChars(const char* str)

{

char uniqueStr[strlen(str) + 1]; // выделяем память под уникальные символы

uniqueStr[0] = '\0'; // инициализируем пустой строкой

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

{

   bool find = false;

   for (int j = 0; j < strlen(uniqueStr); ++j)

   {

       if (str[i] == uniqueStr[j])

       {

           find = true;

           break;

       }

   }

   if (!find)

   {

       char temp[2];

       temp[0] = str[i];

       temp[1] = '\0';

       strcat(uniqueStr, temp); // добавляем уникальный символ в строку

   }

}

cout << uniqueStr << endl;

}

int main()

{

char str[] = "kklmmoddffi";

printUniqueChars(str);

return 0;

}

Объяснение:

Вас заинтересует