Witam. Jestem bardzo początkującym programistą i potrzebuję pomocy z kilkoma zadankami.
Mój program:
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main()
{
srand(time(0));
int n;
int k;
cin>>n;
cin>>k;
if (k<n && 5<=n<=50000)
{const int max=n;
int tab[max];
for (int i=0; i<max; i++)
{int tab [i];
tab[i]=rand()%2000-1000;
cout<<tab[i]<<" ";
}
int swp;
for (int i=1;i<max;i++)
{
for (int j=max-1;j>=i;j--)
if (tab[j]<tab[j-1])
{
swp=tab[j];
tab[j]=tab[j-1];
tab[j-1]=swp;
}
}
for (int i=0;i<max;i++)
{cout<<tab[i]<<" ";}
}
else
{system("pause");}
}
I teraz tak, jak mam wprowadzić tą zmienną k w dalszej części zadania, aby po sortowaniu bąbelkowym wyświetliło się k największych liczb?
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main()
{
srand(time(0));
int N;
cin>>N;
if (1<=N<=1000000)
{
for (int i=0; i<N; i++)
{
int tab[i];
tab[i]=rand()%2;
int c;
c=0;
for (int j=0; j<=i; j++)
{if (tab[i]==0)
{c++;}
}
cout<<c;
}
}
else
{
system("pause");
}
}
W którym miejscu w tym programie jest błąd, bo wychodzą złe wyniki, a sam nie mogę nic znaleźć?
No i z tym prawie wcale sobie nie poradziłem. Wstawiam to, co na razie napisałem, ale to nawet nie chce ruszyć i nie wiedziałem za bardzo jak zabrać się za sprawdzanie, czy ten romb może powstać.
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main()
{
srand(time(0));
int N;
cin>>N;
if (0<N<1000)
for (i=0; i<N; i++)
{
for (int j=0; j<8; i++)
{
int tab[j];
tab[j]=rand()%20000-10000;
cout<<tab[j]<<" ";
if (j=8)
{ int x;
int y;
int z;
int w;
x=tab[0]-tab[2];
y=tab[4]-tab[6];
z=tab[1]-tab[3];
w=tab[5]-tab[7];
if (x==y && z==w)
{
cout<<"TAK";
}
else
{
cout<<"NIE";
}
}
else
{
return (0);
}
}
}
system("pause");
}
else
{
system("pause");
}
}