Алгоритмы и структуры данных (задача на c++) [закрыт]

219
03 января 2022, 17:40
Закрыт. Этот вопрос не по теме. Ответы на него в данный момент не принимаются.

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском.

Закрыт 2 года назад.

Улучшить вопрос

Не знаю как решить задачу , условие такое: Указатель на одномерный массив. Решить поставленную задачу с помощью указателя на массив. Все обращения к элементам массива осуществить не по индексу, а по указателю. Дан массив из n целых чисел. Найти все максимальные элементы этого массива (напечатать их номера). Затем преобразовать исходный массив по правилу: первый максимальный элемент увеличить на 1, второй — на 2 и т.д.

Answer 1

Ну вот Вам решение без указателей.... есть итераторы, но если сделать &(*(it)) то будет указатель, так и отмажтесь у препода)))

#include <iostream>
#include <array>
#include <algorithm>
int main() {
    const std::uint64_t size{ 10 };
    std::array<uint64_t, size> arr{ 1, 2, 6, 4, 2, 2, 3, 6, 6, 1 };
    std::copy(std::begin(arr), std::end(arr), std::ostream_iterator<uint64_t>{std::cout, " "});
    std::cout << std::endl;
    auto max = *(std::max_element(std::begin(arr), std::end(arr)));
    int k{ 0 };
    std::transform(std::begin(arr), std::end(arr), std::begin(arr), [&](uint64_t val) {if (val == max) {val += ++k ; } return val;});
    std::copy(std::begin(arr), std::end(arr), std::ostream_iterator<uint64_t>{std::cout, " "});
    std::cout << std::endl;
    return 0;
}
READ ALSO
Замена всех пустых мест в строке

Замена всех пустых мест в строке

Я получаю от пользователя две строки, потом проверяю первую на некоторые символы -> удаляю эти символыТут проблем нет

98
Кэш input после перезагрузки страницы

Кэш input после перезагрузки страницы

Подскажите есть возможность после перезагрузки страницы повторно использовать значение поля input? те

93