Napisati C program koji na osnovu celebrojnog niza X od n elemenata (n<61) formira nizove Z i Y.Niz Y predstavlja sazeti niz X(izbaceni su ponovljeni elementi iz niza X),a niz Z sadrzi broj pojavljivanja redom elemenata formiranog niza Y u nizu X.
Primer kako program treba da radi:
X=(3,-4,8,-6,-3,0,5,3,9,5,5,4,-4)
Y=(3,-4,8,-6,-3,0,5,9,4)
Z=(2,2,1,1,1,1,3,1,1)
Ovo sam ja uradio:
Code:
#include <stdio.h>
#define MAX_NIZ 61
main()
{
/*Definicija promenljivih*/
int k,n,j,i,x[MAX_NIZ],y[MAX_NIZ],z[MAX_NIZ];
/*Inicijalizacija niza*/
for(i=0;i<MAX_NIZ;i++) x[i]=y[i]=z[i]=0;
printf("Program za sortiranje niza");
do{
printf("\n Broj elemenata niza\n");
scanf("%d",&n);
}while(n<=0||n>MAX_NIZ);
printf("Unesite el.X niza\n");
for(i=0;i<n;i++){
scanf("%d",&x[i]);}
for(j=0,i=0;i<n;i++){
if(i==0)y[j]=x[i];
else{for(k=1;k<=i;k++)
if(x[i]==x[i-k])j++;
else y[j]=x[i];j++;}
}
for(i=0;i<n;i++)
printf("%d",y[i]);
}
#include <stdio.h>
#define MAX_NIZ 61
main()
{
/*Definicija promenljivih*/
int k,n,j,i,x[MAX_NIZ],y[MAX_NIZ],z[MAX_NIZ];
/*Inicijalizacija niza*/
for(i=0;i<MAX_NIZ;i++) x[i]=y[i]=z[i]=0;
printf("Program za sortiranje niza");
do{
printf("\n Broj elemenata niza\n");
scanf("%d",&n);
}while(n<=0||n>MAX_NIZ);
printf("Unesite el.X niza\n");
for(i=0;i<n;i++){
scanf("%d",&x[i]);}
for(j=0,i=0;i<n;i++){
if(i==0)y[j]=x[i];
else{for(k=1;k<=i;k++)
if(x[i]==x[i-k])j++;
else y[j]=x[i];j++;}
}
for(i=0;i<n;i++)
printf("%d",y[i]);
}
Unapred zahvalan na bilo kom savetu!
[Ovu poruku je menjao X Files dana 11.11.2008. u 23:12 GMT+1]