Kiírja a random módon generált számokat, de nem sorrendben, miért?
#include <iostream>
#include <stdio.h>
#include <ctime>
#include <time.h>
#include <stdlib.h>
#include <random>
#include <cmath>
using namespace std;
void BubbleSort(float (&)[100], int);
std::mt19937 generator (123);
std::uniform_real_distribution<double> dis(0.0, 1.0);
int main()
{
float x[100];
int N = 100;
srand(time(NULL));
double rm = RAND_MAX;
for(int i=0;i<N;i++)
{
cout << rand()/rm << endl;
float(x)[100] = {rand()/rm};
}
BubbleSort(x,N);
}
void BubbleSort(float (&x)[100], int N)
{
bool issorted=false;
float pom;
while(issorted==false)
{
issorted=true;
for(int i=1;i<N;i++)
{
if(x[i]<x[i-1])
{
issorted=false;
pom=x[i];
x[i]=x[i-1];
x[i-1]=pom;
}
}
}
}
Egyébként ezt meg végképp nem értem:
for(int i=0;i<N;i++)
{
cout << rand()/rm << endl;
float(x)[100] = {rand()/rm};
}
Kiíratsz egy véletlenszámot, aztán egy másikat beleraksz valami új valamibe (laikusként nem t'om követni, mi lehet az). Szerintem ide inkább ilyesmi kívánkoznék:
for(int i = 0; i < N; i++){
x[i] = rand()/rm;
cout << x[i] << endl;
}
Így mintha működne, és még warningot se dob a fordító.
Sikerült! A BubbleSort(x,N) sor után beírtam, hogy
for(int j=0;j<N;j++)
{
cout << x[j];
cout << endl;
}
Örülök, hogy összejött. Nálam most így néz ki a programod:
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!