Регистрация
Войти
Стать экспертом Правила
Информатика

Дан одномерный целочисленный массив, заданный случайными числами на промежутке [-50; 50]. Заменить в массиве все отрицательные элементы на элементы им противоположные и отсортировать полученный массив.Указание:для получения случайных чисел с равномерным распределением в интервале [a;b] надо использовать формулуa[i]= rand()%(b-a+1) + a;С++

ОТВЕТЫ
//VS C++

#include <iostream>
#include <time.h>
using namespace std;
int main() {
    int *A;
    int N;
    setlocale(LC_ALL, "Russian");
    srand(time(NULL));

    cout << "Количество элементов в массиве: "; cin >> N;
    A = new int[N];
    cout << "***Исходный массив***" << endl;
    for (int i = 0; i < N; i++) {
        A[i] = rand() % (101) - 50;
        cout << A[i] << " ";
    }
    cout << endl;
    cout << "***Измененный массив***" << endl;
    for (int i = 0; i < N; i++) {
        if (A[i] < 0) A[i] = -A[i];
        cout << A[i] << " ";
    }
    cout << endl;
    int temp;
    //Сортировка массива пузырьком
    cout << "***Измененный отсортированный массив***" << endl;
    for (int i = 0; i < N - 1; i++) {
        for (int j = 0; j < N - i - 1; j++) {
            if (A[j] > A[j + 1]) {
                temp = A[j];
                A[j] = A[j + 1];
                A[j + 1] = temp;
            }
        }
    }
    for (int i = 0; i < N; i++) cout << A[i] << " ";
    cout << endl;
    system("pause");
    return 0;
}
  1. Ошибся. Менял знак у всех элементов.
290
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам