Задача: Напишите функцию, которая добавляет рядом с пробелом еще один (случае где два и больше подряд пробелов не учитываем). Функция должна принимать в качестве аргументов строку (массив символов). Функция должна возвращать новую сформированную строку.
В общем программа работает , но, в конце вот такая табличка:
КОД:
#include "pch.h"
#include <iostream>
#include <Windows.h>
void add_spaces(char* a)
{
int count = 0;
for (int i = 0; i < strlen(a); i++)
{
if (a[i] == ' ')
count++;
}
char* new_arr = new char[strlen(a) + count];
for (int i = 0, j = 0; i < strlen(new_arr); i++, j++)
{
if (a[j] == ' ')
{
new_arr[i] = ' ';
new_arr[i + 1] = ' ';
i++;
}
new_arr[i] = a[j];
}
for (int i = 0; i < strlen(new_arr); i++)
{
std::cout << new_arr[i];
}
delete[]new_arr;
}
int main()
{
using namespace std;
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
char a[] = " ";
cout << "Введите строку: ";
cin.getline(a, 128);
cout << "\nСтрока после добавления пробелов: ";
add_spaces(a);
}