Я получаю от пользователя две строки, потом проверяю первую на некоторые символы -> удаляю эти символы. Тут проблем нет. Дальше мне нужно пустые места в конце заполнить восклицательным знаком "!". И тут проблема. Я написал проверку на пустое место в строке и замену знака, но это не работает. В чем может быть проблема? P.S. размер массива 20, я знаю. Мне такой и нужен
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
setlocale(0, "");
// получаю строки и длину первой
char stroka1[20];
char stroka2[20];
cout << "Заполните символами первую строку: ";
cin.getline(stroka1,20);
cout << "Заполните символами вторую строку: ";
cin.getline(stroka2,20);
int len1 = strlen(stroka1);
// ищу знак "*" или "/" в первой строке и удаляю его.
int i = 0;
for (int q=0; stroka1[q]; ++q) {
if (stroka1[q] != '*' && stroka1[q] != '/') {
stroka1[i++] = stroka1[q];
if (stroka1[q]== ' ') stroka1[q]='!'; // проверка на пустое место
}
}
stroka1[i] = 0;
// вывожу содержимое этих строк
cout << "" << endl;
cout << ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" << endl;
cout << "" << endl;
cout << "Содержимое первой строки: " << stroka1 << endl;
cout << "Содержимое второй строки: " << stroka2 << endl;
system("pause");
}
Сжатие строки с удалением определённых символов сделано, похоже, правильно. Но про пробелы ведь ничего не написано.
А вот после цикла сжатия достаточно пройти от текущего индекса i
до конца строки , заполняя !
пространство, которое могло появиться после сжатия.
char stroka1[20];
std::cin.getline(stroka1, 20);
std::cout << stroka1 << std::endl;
int i = 0;
for (int q = 0; stroka1[q]; ++q)
if (stroka1[q] != '*' && stroka1[q] != '/')
stroka1[i++] = stroka1[q];
for (; stroka1[i]; ++i)
stroka1[i] = '!';
std::cout << stroka1;
вывод
123**dfg///asd/*dfg
123dfgasddfg!!!!!!!
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Подскажите есть возможность после перезагрузки страницы повторно использовать значение поля input? те