citronen Skrevet 26. september 2010 Del Skrevet 26. september 2010 Hei, Jeg har fått en oppgave som jeg må løse - og jeg vet ikke engang hvor jeg skal begynne. Har gjort alle de andre deloppgavene; men denne får jeg bare ikke til! Oppgave 2: Skriv et program som skriver ut følgende: * ***** ********* ************* ********* ***** * På arket er de formet som en "stjerne" i mangel på et bedre ord. Lenke til kommentar
alfred97 Skrevet 26. september 2010 Del Skrevet 26. september 2010 #include <iostream> using std::cout; using std::endl; int main (int argc, char **argv) { cout << "*" << endl; cout << "*****" << endl; cout << "*********" << endl; cout << "*************" << endl; cout << "*********" << endl; cout << "*****" << endl; cout << "*" << endl; } :D Eventuelt kan du løse det på en mer elegant måte med noen for-løkker. Lenke til kommentar
GeirGrusom Skrevet 26. september 2010 Del Skrevet 26. september 2010 Du går på høyskolen i vestfold skjønner jeg. Hva har du fått til hittil da? Lenke til kommentar
citronen Skrevet 26. september 2010 Forfatter Del Skrevet 26. september 2010 Jeg blander sammen en hel haug av ulike kommandoer; og det ender med at intet virker. Fikk til de første oppgavene etter noen timer; men jeg kan ikke si at jeg har teken på det. Uansett. Takk alfred! Skal ikke levere inn ditt forslag kliss identisk. Vedder penger på at Grusomme-Geir, egentlig heter Helge, og tilfeldigvis er lærer på HIVE! Lenke til kommentar
GeirGrusom Skrevet 26. september 2010 Del Skrevet 26. september 2010 (endret) Jeg blander sammen en hel haug av ulike kommandoer; og det ender med at intet virker. Fikk til de første oppgavene etter noen timer; men jeg kan ikke si at jeg har teken på det. Uansett. Takk alfred! Skal ikke levere inn ditt forslag kliss identisk. Vedder penger på at Grusomme-Geir, egentlig heter Helge, og tilfeldigvis er lærer på HIVE! Du får gi meg hundre kroner på skolen i morgen. Jeg går tredje klasse nå. Jeg var også fadder for 11 stykker fra dataklassen. Opggaven er for C, ikke C++, og etter det jeg husker kan du ikke bruke mer enn en stjerne eller et kryss i en printf. Du kan derfor enkelt løse den slik: #include <stdio.h> const char* msg = "\ *\n\ ***\n\ *****\n\ *******\n\ *****\n\ ***\n\ *\n"; int main(int argc, char** argv) { printf("%s", msg); return 0; } Endret 26. september 2010 av GeirGrusom Lenke til kommentar
citronen Skrevet 26. september 2010 Forfatter Del Skrevet 26. september 2010 Slenger jeg på en getchar(); på den, får jeg opp et tall, men jeg ser ikke en vakker stjerne. Jeg kan strekke meg til lunsj! Lenke til kommentar
quantum Skrevet 26. september 2010 Del Skrevet 26. september 2010 Og forøvrig heter det «... gjør meg gal» eller «... driver meg til vanvidd» ... sånn helt mal-apropos ... Lenke til kommentar
citronen Skrevet 26. september 2010 Forfatter Del Skrevet 26. september 2010 Okay. Endelig kom den frem på skjermen! #include <stdio.h> const char* msg = "\ *\n\ ***\n\ *****\n\ *******\n\ *****\n\ ***\n\ *\n"; int main(int argc, char** argv) { printf("%s", msg); getchar(); return 0; } Lenke til kommentar
TheMaister Skrevet 27. september 2010 Del Skrevet 27. september 2010 Oppgaven går vel ikke akkurat ut på å hardkode en stjerne som det der? Lenke til kommentar
snippsat Skrevet 27. september 2010 Del Skrevet 27. september 2010 (endret) Som The Maister nevner så er denne oppgaven ikke om og hardkode en stjerne form. Handler om et par for loops,stjerner har et visst mønster 1,5,9,13,9... Da blir for loopen sånn opp til 13,for (int i = 1; i < 14; i+=4) Vil ikke skrive den ferdig i C++ p.g.a skoleoppgave skriver den i python,da kan den skrive om til C++ rimlig greit. for asterics in range(1,13,4): print '*' * (asterics) for asterics in range(13,0,-4): print '*' * (asterics) Endret 28. september 2010 av SNIPPSAT Lenke til kommentar
aC Skrevet 28. september 2010 Del Skrevet 28. september 2010 en liten digresjon: dette er en ufattelig tåplig oppgave om den ikke skal løses med løkker eller rekursivt. Lenke til kommentar
Sokkalf™ Skrevet 28. september 2010 Del Skrevet 28. september 2010 Uansett, er det ikke angitt i oppgaveteksten (eller i konteksten, hvis oppgavesamlingen heter "Løkker" f.eks), så er vel et tåpelig svar så godt som noe, bare programmet gjør det det skal. Lenke til kommentar
GeirGrusom Skrevet 28. september 2010 Del Skrevet 28. september 2010 (endret) Løsningsforslaget var uten løkker da jeg tok dette kurset. Husk at dette er det første programmeringskurset (5 stdp) de tar, og forventningene er veldig lave. Jeg leverte en besvarelse som brukte løkker, men når jeg så løsningsforslaget, så var det egentlig bare bortkastet tid. Endret 28. september 2010 av GeirGrusom Lenke til kommentar
aC Skrevet 29. september 2010 Del Skrevet 29. september 2010 skjønner, tror jeg hadde en veldig lignende oppgave i mitt andre kurs på UiO som måtte løses med rekursivitet. men ellers så er det vel ikke veldig høye forventninger til første programmeringskursene man tar Lenke til kommentar
progn Skrevet 30. september 2010 Del Skrevet 30. september 2010 #include <stdio.h> int main(void) { for (int i = 0; i < 7; i++) printf("%*c%s\n", i < 4 ? 7-i : i+1, ' ', "*************" + (i < 4 ? (12-i*2) : (i*2))); return 0; } Output: * *** ***** ******* ***** *** * Lenke til kommentar
xaco Skrevet 30. september 2010 Del Skrevet 30. september 2010 Slenger jeg på en getchar(); på den, får jeg opp et tall, men jeg ser ikke en vakker stjerne. Jeg kan strekke meg til lunsj! Det er fordi getchar henter inn int-verdien til char. Du må gjøre om int-verdien til en char. Lenke til kommentar
TheMaister Skrevet 2. oktober 2010 Del Skrevet 2. oktober 2010 (endret) #include <stdio.h> int main(void) { for (int i = 0; i < 7; i++) printf("%*c%s\n", i < 4 ? 7-i : i+1, ' ', "*************" + (i < 4 ? (12-i*2) : (i*2))); return 0; } Output: * *** ***** ******* ***** *** * Høhø. Skikkelig lesbart det der ja Litt mindre lesbar printf: printf("%*c%s\n", i < 4 ? 7-i : i+1, ' ', &(i < 4 ? (12-i*2) : (i*2))["*************"]); Endret 2. oktober 2010 av TheMaister 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å