Итак, я создаю лотерейный билет со случайными значениями, а затем сортирую его. Я не беспокоюсь о методе сортировки, так как учитель не ищет классы и т. д. по этому заданию, и это работает, однако, мои значения билетов, которые я получаю, несмотря на использование srand (время (0)), а затем ранд () % 40 + 1 - что, я думаю, должно сделать мои случайные числа между 1-40... но mainTicket[0] всегда равен 0. Есть идеи? Извините за форматирование, заставило добавить лишние пробелы и испортить отступ.
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
void mainLotto (int main[]);
void lottoSort (int ticketArr[]);
int main()
{
int mainTicket[5];
srand (time(0));
mainLotto(mainTicket);
do
{
lottoSort(mainTicket);
} while (mainTicket[0] > mainTicket[1] || mainTicket[1] > mainTicket[2] || mainTicket[2] > mainTicket[3] || mainTicket[3] > mainTicket[4] || mainTicket[4] > mainTicket[5]);
for (int i = 0; i < 5; i++)
{
cout << mainTicket[i] << "\n\n";
}
return 0;
}
///
/// <> Creates the actual lottery ticket
///
void mainLotto (int main[])
{
// Creating the ticket
for (int i = 0; i < 5; i++)
{
main[i] = rand() % 40 + 1;
}
}
///
/// <> Sorts the actual lottery ticket
///
void lottoSort (int ticketArr[])
{
// Sorting the ticket
for (int j = 0; j < 5; j++)
{
if (ticketArr[j] > ticketArr[j+1])
{
int temp;
temp = ticketArr[j+1];
ticketArr[j+1] = ticketArr[j];
ticketArr[j] = temp;
}
}
}
ticketArr[j+1]
выходит за пределы - person Galik   schedule 02.11.2014