help-zjednodušení jednoduchyho cyklu v C

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Zamčeno
Uživatelský avatar
preclik
Level 2.5
Level 2.5
Příspěvky: 277
Registrován: 17 říj 2007 18:53

help-zjednodušení jednoduchyho cyklu v C

Příspěvek od preclik »

ahoja,
potřeboval bych pomoct jak zjednodušit cyklus.Mělo by to být funkční eratosthenovo sito.
"ten vnitřní (škrtací) cyklus lze napsat tak, aby již nebylo nutné testovat nějaké další podmínky".tohle mi na to bylo napsáno tak kdybyste někdo věděl jak to poladit ke spokojenosti:)

Kód: Vybrat vše

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


int main(){

int i,j,zadej;

printf("Zadej velikost pole: ");
scanf("%d",&zadej);

int pole[zadej];


for(i=0;i<(zadej-1);i++){
    pole[i]=i+2;

}

for(i=0;i<(zadej-1);i++){
    j=i+1;
    if(pole[i]!=0){
        while(j<zadej){
            if(pole[j]%pole[i]==0){
                pole[j]=0;
            }
        j++;
        }

    }

}


for(i=0;i<=(zadej-1);i++){
    if(pole[i]!=0)
    printf("%d, ",pole[i]);
}


return 0;
}
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: 20 srp 2008 14:02
Bydliště: Brno
Kontaktovat uživatele:

Re: help-zjednodušení jednoduchyho cyklu v C

Příspěvek od CZechBoY »

jde to trošku zjednodušit, místo 3cyklů bude jeden, jinak jsem to moc nečetl co tam je dalšího...

Kód: Vybrat vše

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


int main(){

int i,j,zadej;

printf("Zadej velikost pole: ");
scanf("%d",&zadej);

int pole[zadej];


for(i=0;i<(zadej-1);i++){
    pole[i]=i+2;
    j=i+1;

    if(pole[i]!=0){
        while(j<zadej){
            if(pole[j]%pole[i]==0){
                pole[j]=0;
            }
        j++;
        }

    }
    if(pole[i]!=0)
    printf("%d, ",pole[i]);
}


return 0;
}

se závorkama si nejsme moc jistej ještě na to mrkni, možná někde něco zůstalo
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
Zamčeno

Zpět na „Programování a tvorba webu“