Найти последовательности в массиве целых чисел

Помогите, пожалуйста!

  1. Дан массив целых чисел а0,...,аn-1. Найти в данной последовательности все пары (аi, аi + 1), такие, что аi * аi + 1 кратно 10.
  2. Написать программу расчета среднего арифметического отрицательных элементов в одномерном массиве. Заменить минимальный элемент в одномерном массиве на полученное среднее арифметическое.
/*
Дан массив целых чисел а0,...,аn-1. 
Найти в данной последовательности все пары (аi, аi + 1), такие, что аi * аi + 1 кратно 10.
*/

#include <iostream>
#include <iomanip>
#include <cmath>
#include <ctime>

using namespace std;

const int ARRAY_LEN = 100;
int arr[ARRAY_LEN];


int main() {

    // инициализация массива

    srand((unsigned int)time(NULL));

    for (int i = 0; i < ARRAY_LEN; ++i) {
        arr[i] = rand() % 100;
    }

    // Найти в данной последовательности все пары (аi, аi + 1), такие, что аi * аi + 1 кратно 10.

    for (int i = 0; i < ARRAY_LEN - 1; ++i) {
        if ((arr[i] + arr[i + 1]) % 10 == 0) {
            cout << "[" << setw(2) << i << "] = " << setw(2) << arr[i] <<
                " [" << setw(2) << i + 1 << "] = " << setw(2) << arr[i + 1] << endl;
        }
    }

    // вывод всего массива для контроля

    for (int i = 0; i < ARRAY_LEN; ++i) {
        cout << setw(2) << arr[i] << "  ";
    }
    cout << endl;

    return 0;
}
/*
Написать программу расчета среднего арифметического отрицательных элементов в одномерном массиве. 
Заменить минимальный элемент в одномерном массиве на полученное среднее арифметическое.
*/

#include <iostream>
#include <iomanip>
#include <cmath>
#include <ctime>

using namespace std;

const int ARRAY_LEN = 100;
double arr[ARRAY_LEN];

// вывод всего массива

void print_arr(const double *ar, int length) {
    for (int i = 0; i < length; ++i) {
        cout << ar[i] << " ";
    }
    cout << "\n\n";
}


int main() {

    // инициализация массива

    srand((unsigned int)time(NULL));

    for (int i = 0; i < ARRAY_LEN; ++i) {
        arr[i] = (double)(rand() % 1000 - 500);
    }

    print_arr(arr, ARRAY_LEN);

    // расчет среднего арифметического отрицательных элементов
    // и нахождение индекса минимального элемента

    double min_val = arr[0];
    int min_index = 0;
    double sum = 0, avg;
    int counter = 0;

    for (int i = 0; i < ARRAY_LEN; ++i) {
        if (arr[i] < 0) {
            sum += arr[i];
            ++counter;
            if (arr[i] < min_val) {
                min_val = arr[i];
                min_index = i;
            }
        }
    }
    avg = sum / counter;
    arr[min_index] = avg;

    cout << "average = " << avg << 
        "\nmin element: [" << min_index << "] = " << min_val << "\n\n";

    print_arr(arr, ARRAY_LEN);

    return 0;
}

Налим, 1 — не совсем то что хотелось. Но эта претензия не к тебе.
Елена, вы хоть примерные границы массива знаете ?

Я знаю, что «если что-то может быть понято неправильно, то оно будет понято неправильно». Но здесь-то что? :-0

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.