offline
- NIx Car
- Legendarni građanin
- Més que un club
- Glavni vokal @ Harpun
- Pridružio: 27 Feb 2009
- Poruke: 3898
- Gde živiš: Novi Sad,Klisa
|
Napisano: 05 Okt 2012 14:43
#include <stdio.h>
#include <stdlib.h>
#include<conio.h>
#define MAX 10
int main()
{
int x[MAX],i,j,z,xu=1,yu=1,temp,y[MAX],k=0,n,br,q;
for(i=0;i<MAX;i++) x[i]=0,y[i]=0;
do{
printf("N=");
scanf("%d",&n);
if(n>0&&n<MAX) break;
clrscr();
}while(1);
for(i=0;i<MAX;i++)
x[i]=i+1;
j=0;
for(i=0;i<n;i++)
{
while(k<3) randomize(),k++; /*ovo sam uradio kako bi randomize za manje brojeve, izvrteo te brojeve sto bolje */
j=random(n);
if(x[j]!=x[i] && i!=j)
{
temp=x[i];
x[i]=x[j];
x[j]=temp;
}
}
printf("Preurediti dati niz:\n");
xu=wherex();
yu=wherey();
for(i=0;i<n;i++)
{
gotoxy(xu,yu);
xu+=5;
printf("%d\n",x[i]);
if(xu>=80)xu=1,yu++;
}
printf("\nDa izgleda ovako:\n");
xu=wherex();
yu=wherey();
for(i=0;i<n;i++)
{
y[i]=i+1;
gotoxy(xu,yu);
xu+=5;
printf("%d",y[i]);
if(xu>=80)xu=1,yu++;
}
i=0;
while(i<n+2){
do{
printf("\n\nKoji broj zelite da pomerite:");
scanf("%d",&br);
if(br>=0 && br<=n) break;
printf("GRESKA! br>=0 i br<=n\nbroj:");
}while(1);
printf("Smer u koji zelite da se niz pomeri koristite 1 za pomeraj u desno i 2 za pomeraj u levo:");
do{
xu=wherex();
yu=wherey();
gotoxy(xu,yu);
scanf("%d",&q);
if(q==1 || q==2) break;
gotoxy(xu,yu);
printf(" ");
gotoxy(xu,yu);
}while(1);
br--;
if(q==1) {
if(br==n-1)
{
temp=x[0];
x[0]=x[br];
x[br]=temp;
}
else
{
temp=x[br+1];
x[br+1]=x[br];
x[br]=temp;
}
}
if(q==2)
{
if(br==0)
{
temp=x[n-1];
x[n-1]=x[br];
x[br]=temp;
}
else
{
temp=x[br-1];
x[br-1]=x[br];
x[br]=temp;
}
}
printf("\n\nPomeren niz:\n");
xu=wherex();
yu=wherey();
for(z=0;z<n;z++)
{
printf(" %d ",x[z]);
}
for(z=0,br=0;z<n;z++)
{
if(x[z]==y[z]) br++;
else br=0;
}
if(br==n) {printf("\n\n BRAVO!!!");break;}
i++;
}
if(br!=n)printf("\n\n NAZALOST NISTE USPELI!!!");
getch();
}
Dopuna: 09 Okt 2012 19:30
#include <stdio.h>
#include <stdlib.h>
#include<conio.h>
#define MAX 10
int main()
{
int x[MAX],i,j,z,xu=1,yu=1,temp,y[MAX],k=0,n=7,br,q,t=0,zu,qu,mu,nu,pu,ru;
char izbor;
do{ for(i=0;i<MAX;i++) x[i]=0,y[i]=0;
for(i=0;i<MAX;i++)
x[i]=i+1;
j=0;
for(i=0;i<n-1;i++)
{
while(k<3) randomize(),k++;
j=random(n);
if(j==0) while(j==0)if(j<n) break; j=random(n);
if(x[j]!=x[i] && i!=j)
{
temp=x[i];
x[i]=x[j];
x[j]=temp;
}
clrscr();
textbackground(0);
printf("KORISTITE BROJEVE 1 ZA POMERAJ U DESNO I BROJ 2 ZA POMERAJ U LEVO!\n");
}
printf("Preurediti dati niz:\n");
zu=wherex();
qu=wherey();
xu=wherex();
yu=wherey();
for(i=0;i<n;i++)
{
gotoxy(xu,yu);
xu+=5;
textbackground(x[i]);
textcolor(0);
cprintf(" %d ",x[i]);
if(zu>=80)xu=1,yu++;
}
printf("\n\n\nDa izgleda ovako:\n");
xu=wherex();
yu=wherey();
for(i=0;i<n;i++)
{
y[i]=i+1;
gotoxy(xu,yu);
xu+=5;
textcolor(0);
textbackground(y[i]);
cprintf(" %d ",y[i]);
if(xu>=80)xu=1,yu++;
}
i=0;
printf("\n\n");
printf("\n\nKoji broj zelite da pomerite:");
mu=wherex();
nu=wherey();
while(i<n+2){
do{
gotoxy(mu,nu);
scanf("%d",&br);
if(br>=0 && br<=n) break;
gotoxy(mu,nu);
printf(" ");
gotoxy(mu,nu);
}while(1);
printf("Smer u koji zelite da se niz pomeri:");
do{
xu=wherex();
yu=wherey();
pu=wherex();
ru=wherey();
gotoxy(xu,yu);
scanf("%d",&q);
if(q==1 || q==2) break;
gotoxy(xu,yu);
printf(" ");
gotoxy(xu,yu);
}while(1);
gotoxy(mu,nu);
printf(" ");
gotoxy(pu,ru);
printf(" ");
br--;
if(q==1) {
if(br==n-1)
{
temp=x[0];
x[0]=x[br];
x[br]=temp;
}
else
{
temp=x[br+1];
x[br+1]=x[br];
x[br]=temp;
}
}
if(q==2)
{
if(br==0)
{
temp=x[n-1];
x[n-1]=x[br];
x[br]=temp;
}
else
{
temp=x[br-1];
x[br-1]=x[br];
x[br]=temp;
}
}
zu=1;
for(z=0;z<n;z++)
{
gotoxy(zu,qu);
textbackground(x[z]);
textcolor(0);
cprintf(" %d ",x[z]);
zu+=5;
printf("\n\n\n\n");
}
for(z=0,br=0;z<n;z++)
{
if(x[z]==y[z]) br++;
else br=0;
}
if(br==n) {printf("\n\n\n\n\n\n BRAVO!!!");break;}
i++;
}
if(br!=n)printf("\n\n\n\n\n\n\n NAZALOST NISTE USPELI!!!");
printf("\n\n DA LI ZELITE PONOVO[Y/N]:");
izbor=getch();
if(izbor=='n' || izbor=='N') break;
clrscr();
}while(1);
getch();
}
Ispravnija verzija ovog programa... dobih 5
|