Вопрос задан 02.11.2018 в 22:10. Предмет Информатика. Спрашивает Сергиевич Валерия.

Дан одномерный целочисленный массив, заданный случайными числами на промежутке [-50; 50]. Заменить

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

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Соколова Настенька.
//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;
}

0 0
Отвечает Голованова Женя.
#include <iostream>
#include <iomanip>
#include <cstdlib>

using namespace std;

int main() {

  bool priz;
  int n;
  cout<< "n = ";  cin>>n;
  int *a = new int[n];
  srand(time(NULL));
  for (int i=0;i<n;i++) {
     a[i]=rand()%101-50;
     cout<<a[i]<<" ";
     if (a[i]<0) a[i] = - a[i];
  }
  cout<<endl;
//  сортировка массива
   while (priz)   
   {
      priz=false;
      for (int i=1; i<n; i++)
      if (a[i]<a[i-1]) 
         {  swap(a[i],a[i-1]);  priz=true;  }
   }
// вывод массива
   cout<<"new array"<<endl; 
   for (int i=0; i<n; i++)
      cout<<a[i]<<" ";
   cout<<endl;
   system("pause");
   return 0;
}



0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения данной задачи вам потребуется использовать язык программирования C++. Вот пример кода, который заменяет отрицательные элементы в массиве на их противоположные значения и сортирует полученный массив:

```cpp #include #include

int main() { const int SIZE = 10; int arr[SIZE];

// Заполнение массива случайными числами от -50 до 50 for (int i = 0; i < SIZE; i++) { arr[i] = rand() % 101 - 50; }

// Замена отрицательных элементов на их противоположные значения for (int i = 0; i < SIZE; i++) { if (arr[i] < 0) { arr[i] = -arr[i]; } }

// Сортировка массива std::sort(arr, arr + SIZE);

// Вывод отсортированного массива std::cout << "Отсортированный массив: "; for (int i = 0; i < SIZE; i++) { std::cout << arr[i] << " "; } std::cout << std::endl;

return 0; } ```

В этом коде мы используем функцию `rand()` для генерации случайных чисел в заданном диапазоне. Затем мы заменяем отрицательные элементы на их противоположные значения с помощью условного оператора `if`. После этого мы сортируем массив с помощью функции `std::sort()` из стандартной библиотеки C++. Наконец, мы выводим отсортированный массив на экран.

Примечание: В приведенном коде мы предполагаем, что у вас уже есть базовое знание языка программирования C++. Если у вас возникнут вопросы или затруднения, не стесняйтесь задавать их. Я всегда готов помочь!

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос