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

Brot2007 Brot2007    1   13.09.2019 05:50    0

Ответы
Maksijvvi Maksijvvi  07.10.2020 11:12
//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;
}

Дан одномерный целочисленный массив, заданный случайными числами на промежутке [-50; 50]. заменить в
ПОКАЗАТЬ ОТВЕТЫ
lidaat lidaat  07.10.2020 11:12
#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;
}
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика