Új hozzászólás Aktív témák

  • elistvan

    őstag

    Az alábbi programomat, hogyan tudnám lerövidíteni függvényekkel? Tudom a tartalmazza az, de hogyan tudom, a találatokat és tippeket fügvényekkel megoldani?

    /*Kenorsolás program találatok számát irja ki, és a nyerőszámokat emelkedő sorrendben*/
    #include <stdlib.h>
    #include <time.h>
    #include <stdio.h>

    int tartalmazza(int tomb[], int hossz, int szam){
    for(int i=0;i<hossz;i++){
    if(tomb == szam){
    return 1;
    }
    }
    return 0;
    }

    int main(){
    int tippeltszamok[10] = {0};

    for(int i=0;i<10;i++){
    int talalat(i);
    int szam;
    printf("%d. szám: ", i+1);
    scanf("%d",&szam);
    if(szam >= 1 && szam <= 80 && !tartalmazza(tippeltszamok,10,szam)){
    tippeltszamok(i) = szam;
    }else{
    printf("Már tippelt vagy nem 1-80 közötti szám\n");
    i--;
    }
    }

    printf("A játékba küldött számok:\n");
    for(int i=0;i<10;i++){
    printf("%d ", tippeltszamok(i));
    }

    int nyeroszamok[20] = {0};

    for(int i=0;i<20;i++){
    int num = (rand() % (80 - 1 + 1)) + 1;
    if(num >= 1 && num <= 80 && !tartalmazza(nyeroszamok,20,num)){
    nyeroszamok(i) = num;
    }else{
    i--;
    }
    }

    int talalat[10] = {0};
    int tIndex = 0;
    for(int i=0;i<10;i++){
    for(int j=0;j<20;j++){
    if(tippeltszamok(i) == nyeroszamok[j]){
    talalat[tIndex++] = nyeroszamok[j];
    }
    }
    }
    int tmp;
    int j =0;
    int emelkedo[20] = {0};
    for( int i=0; i<10; i++)
    {
    for( int j=0; j<20; j++)
    {
    if(nyeroszamok[j] > nyeroszamok(i)) /*Ha a nyerőszámok tömb 1 eleme nagyobb mint a második*/
    {
    tmp = nyeroszamok(i); /*Az első elemet kitesszük a tmp változóba*/
    nyeroszamok(i) = nyeroszamok[j]; /*A második elem átkerül az első helyre a sorban*/
    nyeroszamok[j] = tmp; /*a tmp-ben tárolt 2. elem, átkerül a második helyre.*/
    }
    }
    }
    printf("\nAz e heti nyerőszámok növekvő sorrendben:\n");
    for(int i=0;i<20;i++)
    {
    emelkedo(i) = nyeroszamok(i);
    printf("%d ", emelkedo(i));
    }
    printf("\n\n");
    printf("\nA heti nyerőszámok pedig:\n");
    {
    for(int i=0;i<20;i++)
    {
    printf("%d ", nyeroszamok(i));
    }

    printf("\n%d találat:\n", tIndex);
    for(int i=0;i<tIndex;i++){
    printf("%d ", talalat(i));
    }
    }
    return 0;
    }

Új hozzászólás Aktív témák

Hirdetés