Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // tip - ime - parametri
- // tip na funkcija (int,float,double,char), nov tip - void - ne vrakja nishto
- // ime - kako sakame
- // parametri (promenlivi shto ke ni trebaat za funkcijata)
- // kvadrat funkcija - lokalni promenlivi
- int kvadrat(int x){
- x=x*x;
- //x=25
- return x;
- }
- // stepen funkcija - lokalni promenlivi samo vo funkcijata
- int stepen(int x,int s){
- int i,pom;
- pom=x;
- //s=3 x=5 -> 5*5*5
- for(i=1;i<s;i++){
- // 5=5*5=25
- // 25=25*5
- x=x*pom;
- }
- return x;
- }
- // print niza
- void print(int niza[],int n){
- int i;
- for(i=0;i<n;i++){
- printf("%d ",niza[i]);
- }
- printf("\n");
- }
- // print naopaku niza
- void printN(int niza[],int n){
- int i;
- for(i=n-1;i>=0;i--){
- printf("%d ",niza[i]);
- }
- printf("\n");
- }
- // palindrom void - da isprinta dali e palindrom ili ne
- void palindrom(int broj){
- int cifra,pom=broj;
- int prevrtenBroj=0;
- while(broj!=0){
- cifra=broj%10;
- prevrtenBroj=prevrtenBroj*10 + cifra;
- broj=broj/10;
- }
- if(pom==prevrtenBroj){
- printf("Palindrom e\n");
- }else{
- printf("Ne e palindrom\n");
- }
- }
- // palindrom int - da vrati dali e palindrom ili ne
- bool daliPalindrom(int broj){
- int cifra,pom=broj;
- int prevrtenBroj=0;
- while(broj!=0){
- cifra=broj%10;
- prevrtenBroj=prevrtenBroj*10 + cifra;
- broj=broj/10;
- }
- if(pom==prevrtenBroj){
- return true;
- }else{
- return false;
- }
- /*
- int n,i;
- scanf("%d",&n);
- int niza[n];
- //palindrom(n);
- for(i=0;i<n;i++){
- scanf("%d ",&niza[i]);
- }
- // 363 255 1 13 9
- int brojac=0;
- for(i=0;i<n;i++){
- if(daliPalindrom(niza[i])){
- brojac++;
- }
- }
- printf("Vo nizata ima %d broevi palindromi\n",brojac);
- */
- }
- // kolku pati X go ima vo nizata
- int kolkuPatiX(int niza[],int n,int x){
- int i,brojac=0;
- for(i=0;i<n;i++){
- if(niza[i]==x){
- brojac++;
- }
- }
- return brojac;
- }
- // pokazuvachi
- // 1) pokazhuva kon adresata na veke postoechka promenliva
- // 2) ako smenime vrednost na pokazhuvach, ja menuva vrednosta na promenlivata kon koja pokazhuva
- // 3) int *p=&x | *p - vrednost , p - adresa | x - vrednost , &x - adresa
- /*
- void smeni(int *pX,int *pY){
- printf("vo funkcija adresa na x=%p vrednost e x=%d\n",pX,*pX);
- printf("vo funkcija adresa na y=%p vrednost e y=%d\n",pY,*pY);
- int pom;
- pom=*pX;
- *pX=*pY;
- *pY=pom;
- }
- // site promenlivi imaat pole za adresa i pole za vrednost
- int main(){
- int x,y;
- scanf("%d%d",&x,&y);
- // int *p=&x;
- printf("adresa na x=%p vrednost e x=%d\n",&x,x);
- printf("adresa na y=%p vrednost e y=%d\n",&y,y);
- smeni(&x,&y);
- printf("posle funkcija adresa na x=%p vrednost e x=%d\n",&x,x);
- printf("posle funkcija adresa na y=%p vrednost e y=%d\n",&y,y);
- return 0;
- }
- */
- // imeto kazhuva sho prai
- void printNaopaku(int *niza,int n){
- int i;
- for(i=n-1;i>=0;i--){
- printf("%d ",niza[i]);
- // *(niza+i)=0;
- //printf("%d ",*(niza+i));
- }
- printf("\n");
- }
- // smeni duplikati vo niza so -1
- void smeniDuplikati(int *niza,int n){
- // i=0, j=1,2,3...n-1
- int i,j;
- for(i=0;i<n;i++){
- for(j=i+1;j<n;j++){
- if(*(niza+i)==*(niza+j)){
- *(niza+j)=-1;
- }
- }
- }
- }
- int main(){
- int n,i;
- scanf("%d",&n);
- int niza[n];
- //palindrom(n);
- // 1 2 3 1 2 5 6
- // 1 2 3 -1 -1 5 6
- for(i=0;i<n;i++){
- scanf("%d ",&niza[i]);
- }
- print(niza,n);
- smeniDuplikati(niza,n);
- print(niza,n);
- return 0;
- }
- // brisenje duplikati
- /*
- int i,j,k;
- // k
- // i j
- // 1 2 5 4 2 3 5 6
- // 1 2 5 4 3 5 6
- for(i=0;i<n;i++){
- for(j=i+1;j<n;j++){
- if(niza[i]==niza[j]){
- for(k=j;k<n-1;k++){
- niza[k]=niza[k+1];
- }
- n--;
- j--;
- }
- }
- }
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement