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

  • stranger28

    addikt

    Üdv!

    Érdekelne, hogy a kódom mennyire "elegáns" megoldás a következő egyszerű kis feladatra:
    Egy hójelentés N sípályán mért hóréteget tartalmazza.
    Készíts programot, amely beolvassa a sípályák számát (1≤N≤20) és az egyes pályákon a hóréteg vastagságát (0≤V(i)≤100), majd
    A. megadja, hogy melyik sípályán a legnagyobb a hóréteg;
    B. megad egy sípályát, ahol a hóréteg legalább 100 cm vastag;
    C. megadja azokat a sípályákat, ahol nem lehet síelni (azaz a hóréteg vastagsága 0)!

    1-20,0-100 és egyéb hülyebiztos vizsgálatokkal most nem töltöttem az időt.

    #include <stdio.h>
    #include <stdlib.h>

    int main(){

    int i,n,a=0;
    int* palyak;
    int maxi=0;
    int leg100=-1;
    int nemsi=0;
    int* nemsi_index;

    printf("Palyak szama: ");
    scanf("%d",&n);

    palyak=(int*)malloc(sizeof(int)*n);

    for(i=0;i<n;i++){
    printf("%d. palya: ",i+1);
    scanf("%d",&palyak[i]);
    if (palyak[i]>palyak[maxi]) maxi=i;
    if (palyak[i]>=100 && leg100==-1) leg100=i;
    if (palyak[i]==0) nemsi++;
    }

    nemsi_index=(int*)malloc(sizeof(int)*nemsi);

    for(i=0;i<n;i++)
    if (palyak[i]==0){
    nemsi_index[a]=i;
    a++;
    }

    printf("\nLegnagyobb: %d\n",maxi+1);
    printf("Van 100 cm ho: %d\n",leg100+1);
    printf("Nem lehet sielni %d palyan:",nemsi);
    for(i=0;i<nemsi;i++){
    printf(" %d",nemsi_index[i]+1);
    }

    free(palyak);
    free(nemsi_index);

    return 0;
    }

    Hülyén hangzik, de tényleg erre mennek rá, hogy mennyire úri. :DDD

    (#4192) aAron_: Én innen szedtem le a keybindert, az minden ilyet megold.

    [ Szerkesztve ]

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