- Honor 200 Pro - mobilportré
- One mobilszolgáltatások
- Mobil flották
- Samsung Galaxy S21 FE 5G - utóirat
- Samsung Galaxy A56 - megbízható középszerűség
- Xiaomi 15 - kicsi telefon nagy energiával
- Szerkesztett és makrofotók mobillal
- Xiaomi Mi 11 Ultra - Circus Maximus
- Samsung Galaxy A72 - kicsit király
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
Ú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
Hirdetés
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Keresem : Lenovo Legion 5 16IRX9 83DG0037HV
- Csere-Beszámítás! Asus Tuf RX 9070 XT 16GB Videokrátya! Bemutató darab!
- AKCIÓ! MSI B450M R7 5700X 16GB DDR4 512GB SSD RX 5700 XT 8GB Rampage SHIVA Zalman 600W
- AKCIÓ! Apple Macbook Pro 16" 2019 i9 9980HK 64GB 500GB Radeon Pro 5500M hibátlan működéssel
- Apple iPhone 14 Pro Max / 256 GB / 88% akkumulátor / 1év Garanciával / Gyári Független
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest