C ++ печатает вектор и заменяет отсутствующие элементы - PullRequest
0 голосов
/ 05 февраля 2020

У меня есть вектор случайных целых чисел, отсортированный. Это элементы от 1 до 10, от 11 до 20, от 21 до 30 и т. Д., Если число отсутствует, я хочу напечатать *. Любые идеи, как это сделать?

std::vector<int> v = { 3, 14, 35, 47, 71 }; //vector size is 5 and numbers can go up to 99
int i = 0;
for (int j = 1; j < 11; ++j)  
{
    if (i<5  &&  (v.at(i) < j*10))
    {
        std::cout << ' ' << v.at(i) ;
        i++;
    }
    else
    {
        std::cout << "  *  " ;
    }

}

вывод должен быть: 3 14 * 35 47 * * 71

Я думаю пройти через все oop проверки, является ли каждый элемент частью заданного c набора чисел, например v [0] <11 напечатать элемент, иначе напечатать '*' </p>

Позднее редактировать: получил

1 Ответ

0 голосов
/ 05 февраля 2020

Я немного изменил вашу программу, теперь она работает так, как вы хотели:

int main() {

    vector<int> v = { 3, 14, 35, 47, 71 }; //vector size is 5 and numbers can go up to 99
    int i = 0;
    for (int j = 10 ; j <= 100 && i < 5; j += 10)
    {
        if (j == 100)
            j--;

        if (v.at(i) <= j && v.at(i) >= (j - 10))
        {
            std::cout << ' ' << v.at(i);
            i++;
        }
        else
        {
            std::cout << "  *  ";
        }

    }

    return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...