C++ Хочу модернизировать программку с вводом функцией "random"
Здравствуйте, Уважаемые знатоки! мне 67 лет, проучился на курсах "foundation". Xотел бы получить более глубокие познания в этой области науки. Имею программу :
include <iostream>
using namespace std;
void selectionSort (int arr[],int arrSize){
int min_idx;
int i=0;
for(int i =0; i<arrSize-1;i++)
{
min_idx = i;
for(int j =i+1; j < arrSize; j++)
if(arr[j]<arr[min_idx])
min_idx = j;
std::swap(arr[i],arr[min_idx]);
}
}
void printArray(int arr[],int arrSize){
for(int i =0; i<arrSize;i++){
std::cout << arr[i]<< " ";
}
}
int main()
{
constexpr int arrSize=10;
int arr[arrSize] {2,1,18,14,28,17,99,77,88,100};
selectionSort(arr,arrSize);
printArray(arr,arrSize);
return 0;
}
хотел чуть переделать вводя функцию "random" и вводить цифры каждый раз случайные и получить правильно от сортированные
srand(time(NULL));
int arrSize = 10;
int ratings[arrSize];
for(int i =0; i<arrSize; i++)
{
ratings[i] = rand()%10;
}
совместить не получается помогите пожалуйста, как можно подробнее
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Не очень понятно... Вы хотите просто создать массив со случайными данными? Типа этого:
#include <iostream>
using namespace std;
void selectionSort (int arr[],int arrSize)
{
int min_idx;
for(int i =0; i<arrSize-1;i++)
{
min_idx = i;
for(int j =i+1; j < arrSize; j++)
if(arr[j]<arr[min_idx])
min_idx = j;
std::swap(arr[i],arr[min_idx]);
}
}
void printArray(int arr[],int arrSize)
{
for(int i =0; i<arrSize;i++){
std::cout << arr[i]<< " ";
}
}
int main()
{
srand(time(0));
constexpr int arrSize=10;
int ratings[arrSize];
for(int i =0; i<arrSize; i++)
{
ratings[i] = rand()%10;
}
selectionSort(ratings ,arrSize);
printArray(ratings, arrSize);
}
Или вы хотите именно функцию, создающую массив? тогда встречные вопросы — нужен именно массив, или можно (раз у нас С++) vector? Если именно массив — то вы уже в курсе о динамическом выделении памяти через new?