Új hozzászólás Aktív témák
-
Jester01
veterán
válasz
hoffman_ #4100 üzenetére
A maszkolás az bináris dolog, akkor jó ha bitekkel dolgozol. Jelen esetben az alsó két bitet kell leválasztani erre az & 3 az pont jó is, vizsgálni viszont az 10 kombinációt kell aminek az értéke 2.
A helyiértékes dolog ennek a tízes megfelelője és arra az osztás művelet jó. Ugye az egyesek száma az simán 10-el vett maradék, tehát x % 10. A tízesek száma ugyanez csak még egy tízzel való osztás is van benne: (x / 10) % 10. A százas helyiértéknél már 100-al kell osztani és így tovább.
-
hoffman_
nagyúr
válasz
hoffman_ #4097 üzenetére
senki többet harmadszor?
nagyon fontos lenne.
illetve még egy kérdés. írtam én is valamit egy feladatra, természetesen nem jó, és nem tudom, hogy miért. valaki meg tudja javítani esetleg?
feladat: bekérni s1 tömbbe 10 karaktert úgy, hogy ascii kód szerint a 1-es és 100-as helyiértéken csak 6 vagy 7 állhat. ezután s2-be másolni az elemeket(ha van), amelyeknél a 10-es helyiértéken lévő szám 0. bitje 0, az 1. bitje pedig 1, utána az első 4 elem minimumát kell megadni. mindent függvénnyel.
- min függvény ebben még nincs is benne, de így se ok
void beker(unsigned char *s1);
int masol(unsigned char *s1, unsigned char *s2);
int main()
{
unsigned char s1[10], s2[10];
beker(s1);
masol(s1, s2);
return 0;
}
void beker(unsigned char *s1)
{
int i=0;
unsigned int temp;
/*while(i<10)
{
scanf("%d", temp);
if((temp[i] &0x3 == 0x6) || (temp[i] &0x3 == 0x7)) s1[i]=temp;
i++;
}*/
while(i<10)
{
scanf("%d", temp);
if((temp &0x3 == 0x6) || (temp &0x3 == 0x7)) s1[i]=temp;
else s1[i]=0;
i++;
}
}
int masol(unsigned char *s1, unsigned char *s2)
{
int i=0, j=0;
while(i<10) s2[i++]=0;
i=0;
while(i<10)
{
if(s1[i] &0x5 == 0x1) s2[j++]=s1[i];
i++;
printf("%d, ", s2);
}
} -
bucsupeti
senior tag
válasz
hoffman_ #4043 üzenetére
100-tól csökkenve 100 db páratlan szám csak úgy van, ha negatív számokat is veszünk, vagy ha egy páratlan számot többször is értékül adunk. Van valami pontosítás a feladattal kapcsolatban ezen a téren?
Mert ha nincs akkor én úgy csinálnám hogy 99-től visszafelé indítok egy ciklust (for), úgy hogy kettesével lépked visszafelé. Tárolnám a számot az aktuális és az aktuális+1 indexű elemben.
Ezzel kész is a feltöltés csökkenő sorrendben.
Ezután egy újabb ciklusban feldolgoznám a tömböt. A ciklus végigmegy a tömbön és összeadogatom két változóban az elemeket. Egyikben a páros indexűeket, másikban a páratlan indexűeket. (Vedd észre, hogy mivel két egyforma elem követi egymást, ezért az összeg pontosan ugyan annyi lesz a végén mindkét változóban, mivel a tömb valahogy így néz ki: 99,99,97,97,95,95...1,1)
Ezután kiírom a páros indexűek összegét, majd a páratlan indexűek összegét elosztom 50-el és azt írom ki (ez lesz az átlag).Ne erőltesd bele egy ciklusba az egészet (persze úgy is meg lehet csinálni).
Számomra a kérdés a tömb feltöltésének pontos szabálya.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Tőzsde és gazdaság
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Dell notebook topic
- Kerékpárosok, bringások ide!
- Megjelent a Poco F7, eurós ára is van már
- Apple asztali gépek
- Sorra igazolja le az OpenAI szakembereit a Meta
- Fúziós energiát vásárol a Google
- Mini-ITX
- Friss koncepciót hoz a Nothing Phone (3)
- További aktív témák...
- Honor 400 Lite 256GB Kártyafüggetlen 1Év Garanciával
- DELL PowerEdge R630 rack szerver - 2xE5-2650v3 (20 mag / 40 szál, 2.3/3.0GHz), 32GB RAM, 55992Ft+ÁFA
- Bomba ár HP X360 11 G5 - Intel 4020 I 4GB I 128GB SSD I 11,6" HD Touch I Cam I W11 I Garancia!
- ÁRGARANCIA! Épített KomPhone Ryzen 5 7600X 32/64GB RTX 5070 12GB GAMER PC termékbeszámítással
- Bomba ár! HP Elitebook 8560W - i7-2GEN I 8GB I 500GB I 15,6" FHD I Nvidia I W10 I Garancia
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: Promenade Publishing House Kft.
Város: Budapest