GenericName Skrevet 2. mars 2006 Del Skrevet 2. mars 2006 Den var litt interresant. Er den fra The C++ programming language? Lenke til kommentar
Peter Skrevet 2. mars 2006 Del Skrevet 2. mars 2006 Jepp, er en helt standard måte å regne ut fakultet på. Eneste ulempen er vel at den bruker litt mer minne. Lenke til kommentar
gamma48 Skrevet 3. mars 2006 Del Skrevet 3. mars 2006 (endret) #include <iostream> #include <conio.h> #include <limits.h> using namespace std; int main () { int Tab [20], Nytab [20]; int I, K, Min; //Inntasting av verdier: for (I=0; I<20; I++) { cout << "\nTast inn komponent nummer " << I+1 << ": "; cin >> Tab [I]; cin.ignore; } //Sortering: for (I=0; I<20; I++) { Min = 0; for (K=1; K<20; K++) if (Tab[K] < Tab [Min]) Min = K; Nytab [I] = Tab [Min]; Tab [Min] = INT_MAX; } //Utskrift: cout << "\n\nDen ordnede listen er: ')"; for (I=0; I<20; I++) cout << " " << Nytab[I]; getche (); return 0; } På linje 15: cin >> Tab [I]; cin.ignore; får eg fram denne feilmeldingen: Statement cannot resolve address of overload function. Kva er feil? Endret 3. mars 2006 av gamma48 Lenke til kommentar
GenericName Skrevet 3. mars 2006 Del Skrevet 3. mars 2006 (endret) Det som er feil er at du har glemt parantesene i ignore, så det blir ikke noe kall på den medlemsfunksjonen. Så bare legg på () i cin.ignore(). Så funker det. Endret 3. mars 2006 av prog master Lenke til kommentar
gamma48 Skrevet 3. mars 2006 Del Skrevet 3. mars 2006 Så klart, det gjekk nå. Er det nokon som gidder å forklare meg kva som skjer i sorteringsdelen og kvifor? Prøvde å forstå det i boka, men det gjekk litt i surr... //Sortering: for (I=0; I<20; I++) { Min = 0; for (K=1; K<20; K++) if (Tab[K] < Tab [Min]) Min = K; Nytab [I] = Tab [Min]; Tab [Min] = INT_MAX; } //Utskrift: cout << "\n\nDen ordnede listen er: "; for (I=0; I<20; I++) cout << " " << Nytab[I]; Lenke til kommentar
JBlack Skrevet 4. mars 2006 Del Skrevet 4. mars 2006 Først så er det den feil der. K må begynne på 0 og ikke 1. Det algortimen gjør er å lete gjennom lista etter laveste tall. Dette tallet plasseres først i en ny liste. I den gamle lista erstattes tallet med INT_MAX så man skal være sikker på at det ikke lenger er laveste tall. Så gjentar man dette, finner det tallet som nå er lavest, og plasserer det på plass nummer to i lista. Osv. osv. Lenke til kommentar
Peter Skrevet 4. mars 2006 Del Skrevet 4. mars 2006 Hvorfor må K begynne på 0? Har vel lite for seg å sammenligne det samme tallet med seg selv? Lenke til kommentar
gamma48 Skrevet 17. mars 2006 Del Skrevet 17. mars 2006 (endret) Når eg kjører denne kildefilen så får eg feilmelding opp på skjermen: #include <iostream> #include <conio.h> using namespace std; int main () { char* Tpkr; Tpkr = "Hei gamle venn"; cout << "\n" << Tpkr; cout << "\n" << Tpkr [1] << " " << Tpkr [5]; Tpkr [2] = 'x'; cout << "\n" << Tpkr; cout << "\n" << *Tpkr; getche (); return 0; } What's happening?!! Debugger: Det oppstod en access vialation (segmantation fault) i programmet ditt. Linjen: Tpkr [2] = 'x'; What's happening?!! Endret 17. mars 2006 av gamma48 Lenke til kommentar
Peter Skrevet 18. mars 2006 Del Skrevet 18. mars 2006 (endret) se kode postet nedenfor Den koden din er rimelig tvilsom uansett, include iostream og conio.h? *grøss* Endret 19. mars 2006 av Nazgul Lenke til kommentar
gamma48 Skrevet 18. mars 2006 Del Skrevet 18. mars 2006 Kvifor kan eg ikkje ende Tpkr [2] til symbolet 'x' ?? Lenke til kommentar
Peter Skrevet 18. mars 2006 Del Skrevet 18. mars 2006 int main (int arcg, char **argv) { char Tpkr[] = "Hei gamle venn"; std::cout << Tpkr << std::endl; Tpkr[2] = 'z'; std::cout << Tpkr << std::endl; std::cin.get(); return 0; } Lenke til kommentar
gamma48 Skrevet 19. mars 2006 Del Skrevet 19. mars 2006 Vitsen var jo at eg skulle bruke ein peker char* Tpkr og endre tegn nummer tre [2] på den måten. Ikkje berre å få fram den utskriften. Eg får ikkje tilgang til å endre den "addressen". Lenke til kommentar
Peter Skrevet 19. mars 2006 Del Skrevet 19. mars 2006 (endret) Hva er det egentlig min kode gjør som ikke gjør det du ønsker? Det du prøver å gjøre er udefinert. char* Tpkr = "Hei gamle venn"; Dette sier at Tpkr skal peke til en konstant streng, altså kan du ikke endre den. Du kan endre hva Tpkr skal peke til, men du kan ikke endre strengen i seg selv. Dersom du skal gjøre det, må du gjøre som jeg har vist ovenfor. Endret 19. mars 2006 av Nazgul Lenke til kommentar
gamma48 Skrevet 19. mars 2006 Del Skrevet 19. mars 2006 (endret) Då er det berre boka mi som er utaddert. Der står det at det går ann å bruke begge metodene... Nytt eksempel: #include <iostream> #include <conio.h> using namespace std; int main () { int I; char* Tpkr = new char [10]; cout << "Tast inn ein namnet ditt: "; cin.getline (Tpkr,10); cout << "\nDu heiter: "; for (I=0; (int)*Tpkr;) { cout << *(Tpkr++); I++; } cout << "\nBaklengs blir det: "; for (; I;) { I--; cout << *(Tpkr--); } getche (); return 0; } Når eg taster navnet mitt forsvinner alltid den første bokstaven når den skal telle baklengs...Går dette ann å hindre?? Altså avslutter løkke nr. 2 før den har fått skrevet det første teiknet (som skal komme sist). Endret 19. mars 2006 av gamma48 Lenke til kommentar
Peter Skrevet 19. mars 2006 Del Skrevet 19. mars 2006 Hvilken bok er det du bruker egentlig? Det der er helt forferdelig å se på! Lenke til kommentar
Dead_Rabbit Skrevet 19. mars 2006 Del Skrevet 19. mars 2006 Oioi, det der likner veldig på "C++ og objektorientert programmering 2. utgave" Anyways, gamma48: Husk at char* str; er det samme som å skrive const char* str; Lenke til kommentar
gamma48 Skrevet 19. mars 2006 Del Skrevet 19. mars 2006 Kvifor heitte det void main () før, og nå heiter det int main () ? Lenke til kommentar
Dead_Rabbit Skrevet 19. mars 2006 Del Skrevet 19. mars 2006 Det er vel av historiske årsaker. void main er tillatt i C, om jeg ikke tar helt feil... Lenke til kommentar
gamma48 Skrevet 21. mars 2006 Del Skrevet 21. mars 2006 Det er vel av historiske årsaker. void main er tillatt i C, om jeg ikke tar helt feil... 5779604[/snapback] Ok, men kvifor går det ikkje ann å skrive void main () i Bloodsheds Dev-C++, da. Det står at den høyrer til C++ (også C da så klart). 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å