Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // tip - ime - parametri
- // int,double,float,char - tip na funkcija
- // void - ne treba da vrati nishto funkcijata
- // ime na funkcija
- // () - parametri na funkcijata
- // site promenlivi se lokalni
- int kvadrat(int x){
- return x*x;
- }
- // void funkcija
- void kvadrat2(int x){
- printf("%d\n",x*x);
- }
- // stepen
- int stepenFunkcija(int n,int stepen){
- int i;
- int fiksnaPromenliva=n;
- // n=3 stepen=4 -> 3*3*3*3
- // 0,1,2,3 ->
- for(i=0;i<stepen-1;i++){
- n=n*fiksnaPromenliva;
- }
- // 1) 3=3*3
- // 2) 9=9*3
- // 3) 27=27*3
- return n;
- // printf("%d",stepenFunkcija(n,stepen));
- }
- // print niza
- void print(int niza[],int n){
- int i;
- for(i=0;i<n;i++){
- printf("%d ",niza[i]);
- }
- printf("\n");
- // print(niza,n);
- }
- // print niza naopaku
- void printN(int niza[],int n){
- int i;
- for(i=n-1;i>=0;i--){
- printf("%d ",niza[i]);
- }
- // printN(niza,n);
- }
- // palindrom
- // 364 -> 463
- // 1) 4
- // 2) 46
- // 3) 463
- void palindrom(int x){
- int obratenBroj=0;
- int temp=x;
- while(temp!=0){
- // temp%10 - zima poslednata cifra
- obratenBroj=obratenBroj*10 + temp%10;
- // temp=temp/10 - krati posledna cifra
- temp=temp/10;
- }
- if(x==obratenBroj){
- printf("palindrom e\n");
- }else{
- printf("ne e palindrom\n");
- }
- }
- // daliPalindrom true/false = 1/0
- bool daliPalindrom(int x){
- int obratenBroj=0;
- int temp=x;
- while(temp!=0){
- // temp%10 - zima poslednata cifra
- obratenBroj=obratenBroj*10 + temp%10;
- // temp=temp/10 - krati posledna cifra
- temp=temp/10;
- }
- if(x==obratenBroj){
- return true;
- }else{
- return false;
- }
- }
- // kolkuPalindromi vo niza
- int kolkuPalindromi(int niza[],int n){
- int i,brojac=0;
- for(i=0;i<n;i++){
- // povik na funkcija vo druga funkcija
- if(daliPalindrom(niza[i])){
- brojac++;
- }
- }
- // printf("Vo nizata ima %d broevi palindromi\n",kolkuPalindromi(niza,n));
- return brojac;
- }
- // kolku pati X se pojavuva vo nizata
- int kolkuXniza(int niza[],int n,int x){
- int i,brojac=0;
- for(i=0;i<n;i++){
- if(niza[i]==x){
- brojac++;
- }
- }
- // printf("Cifrata %d ja ima %d pati vo nizata\n",x,kolkuXniza(niza,n,x));
- return brojac;
- }
- /*
- // int *pX=&x;
- void smeni(int *pX,int *pY){
- printf("-FUNKCIJA- x=%d &x=%p\n",*pX,pX);
- printf("-FUNKCIJA- y=%d &y=%p\n",*pY,pY);
- int pom;
- pom=*pX;
- *pX=*pY;
- *pY=pom;
- }
- // int x - ima adresa (&x) i vrednost (x)
- // int *p=&x - go pokazuvame kon adresata na veke postoecka promenliva, adresa (p) vrednost (*p)
- int main(){
- int x,y;
- scanf("%d%d",&x,&y);
- // af1229avs8
- printf("x=%d &x=%p\n",x,&x);
- printf("y=%d &y=%p\n",y,&y);
- smeni(&x,&y);
- printf("-POSLE FUNKCIJA- x=%d &x=%p\n",x,&x);
- printf("-POSLE FUNKCIJA- y=%d &y=%p\n",y,&y);
- return 0;
- }
- */
- // x12b2k14 niza[0]
- // x12b2k18 niza[1]
- // x12b2k22 niza[2]
- // x12b2k26 niza[3]
- // *(niza+i) e isto so niza[i]
- void sortirajNiza(int *niza,int n){
- int i,j,pom;
- // bubble sort
- // 1 2 3 4 5
- for(i=0;i<n;i++){
- for(j=0;j<n-1-i;j++){
- if(*(niza+j)>*(niza+j+1)){
- pom=*(niza+j);
- *(niza+j)=*(niza+j+1);
- *(niza+j+1)=pom;
- }
- }
- }
- /*
- sortirajNiza(niza,n);
- print(niza,n);
- */
- printf("\n");
- }
- // smeni duplikati vo -1
- void smeniDuplikati(int *niza,int n){
- int i,j;
- int duplikat=-1;
- // eden po eden chlen
- for(i=0;i<n;i++){
- // eden posle chlenot i da odi do kraj na nizata
- for(j=i+1;j<n;j++){
- if(*(niza+i)==*(niza+j)){
- *(niza+j)=duplikat;
- duplikat--;
- }
- }
- duplikat=-1;
- }
- }
- int main(){
- int n,i;
- scanf("%d",&n);
- int niza[n];
- for(i=0;i<n;i++){
- scanf("%d",&niza[i]);
- }
- // i j
- // 1 2 5 4 3 2 1 2 0
- // 1 2 5 4 3 -1 -1 -1 0
- smeniDuplikati(niza,n);
- print(niza,n);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment