Тема: Посилання
Створив програму яка видаляє з номера X по Y символів з введеної строки та записує і виводить це в нову строку.
#include <iostream>
#include <string.h>
#include <stdio.h>
using namespace std;
void main()
{
int k = 0, i = 0, size, a = 0, b = 0;
char x1[50], x2[50], *sil1, *sil2;
puts("Vvedit stroku(49 max)");
gets_s(x1);
sil1 = x1;
sil2 = x2;
size = strlen(x1) + 1;
// ==============================================================================================
while (a == 0)
{
puts("z iakogo po nomeru simvola udaliti ?");
cin >> a;
if (a > (size - 1))
{
cout << ("Error!!! TRY AGAIN! maximum - ") << (size - 1) << endl;
a = 0;
}
}
while (b == 0)
{
puts("kinec delete?");
cin >> b;
if (b > size)
{
cout << ("Error!!! maximum - ") << size << endl;
b = 0;
}
}
// ==============================================================================================
i = 0;
while (k < size)
{
if (k<a || k>b)
{
*(sil2 + i - 1) = *(sil1 + k - 1);
i++;
}
k++;
}
cout << "\n\n New riadok: ";
puts(sil2);
system("pause");
}
Але виводить нову строку криво, не можу ніяк розібратися чому:
початкову строку виводить нормально: