BlueBear icon

parnost.c

BlueBear | PRO | 03/25/14 09:49:15 PM UTC | 0 ⭐ | 436 👁️ | Never ⏰ | []
C |

2.06 KB

|

None

|

0 👍

/

0 👎

/*
 *  najdenie parnych cisel v jednorozmernom poli
 *  datum: 25.10.2011
 */
 
#include<stdio.h>
#include<stdlib.h>
 
int parne(int x[], int y[], int pocet){
    int i, parne=0;
 
    //cyklus prebehne cele pole x
    for(i=0;i<pocet;i++){
        //porovna prvok v poli ci je parny (ziaden zvysok po deleni 2)
        if(x[i]%2==0){
            //ak je najdeny parny prvok, vlozi sa do pola y a zvysi pocet parnych cisel
            y[parne]=x[i];
            parne++;
        }
    }
    /*
    * ak je parnych cisel menej, nez prvkov v poli x (nie vsetky su parne)
    * vlozi na dalsiu poziciu v poli y cislo 1 (pre neskorsie porovnavanie)
    * usetri nam to dalsiu premennu, ktora si bude pamatat pocet parnych cisel
    * (vo funkcii main ich potrebujeme na 2 miestach)
    * takto sme nepatrne znzili pamatove naroky
    */
    if(parne<pocet)
        y[parne]=1;
 
    return parne;
}
 
int main(void) {
    int pocet, i;
    
    scanf("%d", &pocet);
    
    //malokuje miesto pre pole x (vstupne pole) a y (parne cisla)
    int *x=(int *)malloc(pocet * sizeof(int));
    
    /*
    * pole y moze byt vacsie, nez je treba (ak sa v poli x nachadza aspoj neden neparny prvok)
    * avsak zatial nevieme kolko parnych prvkov pole x bude obsahovat
    * urcite ich ale nebude viac, nez pocet prvkov v poli x
    * 
    * ina moznost je, zistti najprv pocet parnych prvkov a potom alokovat miesto pre
    * pole y, to by ale vyzadovalo znovu porovavat prvky pre parnost a vkladat ich do pola y
    *
    * ja som zvolil vykon na ukor pamatovych narokov.
    */
    int *y=(int *)malloc(pocet * sizeof(int));
 
    
    //nacita do pola x prvky
    for(i=0; i<pocet; i++)
        scanf("%d", &x[i]);
 
 
    printf("Povodne pole: ");
    //vypise povodne pole x
    for(i=0; i<pocet; i++)
        printf("%d ",x[i]);
    
 
    //vypise pocet parnych funkcii, ktory ziska ako navratovu hodnotu funkcie parne
    printf("\nPocet parnych prvkov pola: %d\n",parne(x, y, pocet)); /*1*/
    
    printf("Parne cisla: ");
    //vypise prvky pola y
    //ak sa v poli y nachadza 1, znamena to, ze tam nie je viac parnych prvkov
    for(i=0; y[i]!=1 && i<pocet; i++) /*2*/
        printf("%d ",y[i]);
        
    printf("\n");
 
    getchar();
 
return 0;
}

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  • Syutrsz icon
    03/31/26 10:21:36 PM UTC
    text |

    0 B

    |

    0 👍

    /

    0 👎

    Best t33n active cpx link daily updates!
     Copy and paste the link in a new browser tab and then hit enter!
     https://crazyporn.@xxx/members/157354/?asgtbndr=1&play=true&spon=adworld&zone=400
     Remove the @ 
  • Zyubi icon
    04/05/26 02:24:01 AM UTC
    text |

    0 B

    |

    0 👍

    /

    0 👎

    Best t33n active cpx link daily updates!
     Copy and paste the link in a new browser tab and then hit enter!
     https://crazyporn.xxx/members/157354/?asgtbndr=1&play=true&spon=adworld&zone=400