aklla Skrevet 5. april 2005 Del Skrevet 5. april 2005 jeg sitter her å leser litt c++, og fant ett %-tegn i en tutorualen, men ingen forklaring, kan noen forklare hva det betyr?? se under for eksempel på kode: #include <iostream.h> void odd (int a); void even (int a); int main () { int i; do { cout << "Type a number: (0 to exit)"; cin >> i; odd (i); } while (i!=0); return 0; } void odd (int a) { if ((a%2)!=0) cout << "Number is odd.\n"; else even (a); } void even (int a) { if ((a%2)==0) cout << "Number is even.\n"; else odd (a); } Lenke til kommentar
Steinbitglis Skrevet 5. april 2005 Del Skrevet 5. april 2005 (endret) det er modulus modulus setter opp et delestykke, men returnerer ikke svaret, men resten 10%9 == 1 3%100 == 3 (rettet, takk til hishadow) 1005%10 == 5 hvis resten av; et tall delt på 2, ikke er 0, er tallet et oddetall, see? Endret 6. april 2005 av Styggentorsken Lenke til kommentar
Kjeksen Skrevet 5. april 2005 Del Skrevet 5. april 2005 Du kan også se her http://folk.uio.no/krisber/tester_modulus.php Lenke til kommentar
hishadow Skrevet 5. april 2005 Del Skrevet 5. april 2005 (endret) det er modulusmodulus setter opp et delestykke, men returnerer ikke svaret, men resten 10%9 == 1 3%100 == 0 1005%10 == 5 hvis resten av; et tall delt på 2, ikke er 0, er tallet et oddetall, see? 3 % 100 blir 3 (i dataverden ). Du kan også tenke på resultatet av modulo operasjonen som: - Trekk høyre tall så mange ganger som mulig fra venstre tall, UTEN at verdien til venstre tall blir mindre enn 0. - Resultatet er den nye verdien til venstre tall. Eks: 25 % 5 = 20 % 5 = 15 % 5 = 10 % 5 = 5 % 5 = 0 % 5 = 0 Edit: fisket Endret 5. april 2005 av hishadow Lenke til kommentar
☀ ❄ Skrevet 5. april 2005 Del Skrevet 5. april 2005 Du kan også tenke på resultatet av modulo operasjonen som: - Trekk høyre tall så mange ganger som mulig fra venstre tall, UTEN at verdien til venstre tall blir mindre enn 0. Modulus er tallet som er igjen etter dette, altså 0 i eksempelet med 25 % 5. (Synes bare ikke det kom helt tydelig frem av posten, og tenkte jeg skulle supplere litt.) Lenke til kommentar
kyrsjo Skrevet 5. april 2005 Del Skrevet 5. april 2005 ganske nyttig for å teste for partall/oddetall btw: if (x % 2 == 0) { //partall } og: if (x % 2 == 1) { //oddetall } Lenke til kommentar
aklla Skrevet 5. april 2005 Forfatter Del Skrevet 5. april 2005 det er modulusmodulus setter opp et delestykke, men returnerer ikke svaret, men resten 10%9 == 1 3%100 == 0 1005%10 == 5 hvis resten av; et tall delt på 2, ikke er 0, er tallet et oddetall, see? la meg se om jeg skjønte dette: f.eks 1000%5=0, fordi det ikke blir igjen noe og 1004%5=4, fordi 1000/5 går, og da er det igjen 4 riktig?? Lenke til kommentar
kyrsjo Skrevet 5. april 2005 Del Skrevet 5. april 2005 Ja. Om du husker deling på barneskolen, så fikk du helt nederst ofte en rest. Om du gjør akkurat denne operasjonen, uten desimaltall - så er modulusen det du får nederst. forøvrig kan den utrykkes slik (seeiiint!) [code} //x % y = z while (x >= y) { x = x -y; } return x [/code] altså "trekk y fra x intill x er mindre enn y eller x er lik null". et eksempel: 5 % 2: 5 - 2 = 3 3 - 2 = 1 svaret er 1 10 % 5: 10 - 5 = 5 5 - 5 = 0 svaret er 0 6 % 4: 6 - 4 = 2 svaret er 2 Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå