Program właściwie udało mi się napisać i zwraca właściwy wynik, chociaż wydaje mi sie, że zrobiłem go trochę łopatologicznie.
#include<iostream>
using namespace std;
int main()
{
int slots[6];
int slots2[6];
int licznik =0;
for(int i = 1; i<=49; i+=1)
{
slots[0] = i;
for(int j = 1; j<=49; j+=1)
{
if(j>i)
slots[1] = j;
else
continue;
for(int k = 1; k<=49; k+=1)
{if(k>j&&k>i)
slots[2] = k;
else
continue;
for(int l = 1; l<=49; l+=1)
{if(l>k&&l>j&&l>i)
slots[3] = l;
else
continue;
for(int m = 1; m<=49; m+=1)
{if(m>l&&m>k&&m>j&&m>i)
slots[4] = m;
else
continue;
for(int n = 1; n<=49; n+=1)
{if(n>m&&n>l&&n>k&&n>j&&n>i)
{slots[5] = n;
licznik++;}
else
continue;
}
}
}
}
}
}
cout<<licznik;
}
Chciałem zamienić operacje logiczne w warunku if na funkcje sprawdzającą czy liczba już nie wystąpiła
#include<iostream>
using namespace std;
bool check(int tab[], int liczba, int ile)
{
int i = 0;
do
{
if(tab[i]==liczba)
return false;
i++;
}while(i<ile);
return true;
}
int main()
{
int slots[6];
int licznik =0;
for(int i = 1; i<=49; i+=1)
{
slots[0] = i;
for(int j = 1; j<=49; j+=1)
{
if(check(slots, j, 1)==true)
slots[1] = j;
else
continue;
for(int k = 1; k<49; k+=1)
{if(check(slots, k, 2)==true)
slots[2] = k;
else
continue;
for(int l = 1; l<=49; l+=1)
{if(check(slots, l, 3)==true)
slots[3] = l;
else
continue;
for(int m = 1; m<=49; m+=1)
{if(check(slots, m, 4)==true)
slots[4] = m;
else
continue;
for(int n = 1; n<=49; n+=1)
{if(check(slots, n, 5)==true)
{slots[5] = n;
licznik++;}
else
continue;
}
}
}
}
}
}
cout<<licznik;
}
ale teraz program sie kompiluje ale nic się nie wyświetla:(