Вопрос задан 11.01.2020 в 11:55. Предмет Информатика. Спрашивает Харлампьев Николай.

Заполнить одномерный массив размером N случайными числами и вывести K наибольших. (Язык С++)

0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Яббарова Регина.
#include <iostream>
#include <iomanip>
using namespace std;

int main() {
   int n,k;
   cout<<"n = ";  cin>>n;
   int a[n];
   srand(time(NULL));
   for (int i=0; i<n; i++) { 
       a[i]=rand()%25; cout<<a[i]<<" "; 
   }    
   cout<<endl;
   cout<<"k = ";  cin>>k; 
   for (int i=0; i<n-1; i++)
   for (int j=i+1; j<n; j++)
       if (a[j]>a[i]) swap(a[i],a[j]);
   for (int i=0; i<k; i++) cout<<a[i]<<" ";
   cout<<endl;
   system("pause");
   return 0;
}



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

Я могу помочь тебе с написанием кода на С++. Вот один из возможных способов решения твоей задачи:

```cpp #include #include #include using namespace std;

// Функция для заполнения массива случайными числами в диапазоне [min, max] void fillRandom(int arr[], int size, int min, int max) { for (int i = 0; i < size; i++) { arr[i] = rand() % (max - min + 1) + min; } }

// Функция для вывода массива на экран void printArray(int arr[], int size) { for (int i = 0; i < size; i++) { cout << arr[i] << " "; } cout << endl; }

// Функция для вывода K наибольших элементов массива void printLargest(int arr[], int size, int K) { // Сортируем массив по убыванию sort(arr, arr + size, greater()); // Выводим первые K элементов for (int i = 0; i < K; i++) { cout << arr[i] << " "; } cout << endl; }

int main() { // Задаем размер массива N и количество наибольших элементов K int N = 10; int K = 3; // Создаем массив размером N int arr[N]; // Заполняем массив случайными числами в диапазоне [1, 100] fillRandom(arr, N, 1, 100); // Выводим массив на экран cout << "Массив: "; printArray(arr, N); // Выводим K наибольших элементов массива cout << "Наибольшие " << K << " элемента: "; printLargest(arr, N, K); return 0; } ```

Надеюсь, это поможет тебе. Если ты хочешь узнать больше о С++, ты можешь посмотреть эти ресурсы: - [Основы С++] - [Сортировка массивов в С++] - [Генерация случайных чисел в С++]

0 0

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

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

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