Hjälp med att skriva 2 loopar som räknar 0-9 och 9-0

Permalänk
Medlem

Hjälp med att skriva 2 loopar som räknar 0-9 och 9-0

Hejsan jag har fått en övnings uppgift att göra 2 loopar som ska skriva 0-9 och 9-0 här är uppgiften:

Gör ett program som, med hjälp av en loopar, skriver ut den ena siffran 0 - 9 och den
andra siffra 9 - 0, dvs den ena siffra räknar uppåt och den andra neråt.

Jag har bara listat ut hur den ska skriva 01234567899876543210 och så ska det inte vara utan det ska stå:

09
18
27
36
45
54
63
72
81
90

Kod:
int var1=0;
int var2=9;
while (var1<=9)
{
cout<<var1<<endl;
var1++;
}
while (var2>=0)
{
cout<<var2<<endl;
var2--;
}

Tacksam för hjälp detta är en övningsuppgift för att klara ett prov på onsdag.

Permalänk
Medlem

for(int i = 0; i <= 9; ++i){ cout << i << 9 - i << endl; }

något sånt borde funka?

Permalänk
Medlem

Om det ska vara såsom du har skrivt, så är det lättaste att använda en loop
int k = 9;
for(int i = 0; i >10; ++i)
{
++k;
cout << i << k << '\n';
}

Permalänk
Medlem
Skrivet av Reyintaz:

Om det ska vara såsom du har skrivt, så är det lättaste att använda en loop
int k = 9;
for(int i = 0; i >10; ++i)
{
++k;
cout << i << k << '\n';
}

En loop ja, annars har du ett antal fel:

i < 10 i for-loopen och ta bort "++k" och ersätt k i cout med k--

Visa signatur

Citera mig för svar.
Arch Linux

Permalänk
99:e percentilen

Med JavaScript:

for (var i = 0; i < 10; i++) { document.write(String(i) + String(9-i) + '<br />'); } // document.write skriver ut text. // String(object) konverterar object till en sträng. // '<br />' är en ny rad i HTML.

Visa signatur

Skrivet med hjälp av Better SweClockers

Permalänk
Medlem

#include <iostream> using namespace std; int main() { int k = 9; int summa; for(int count=1;count<11;count++) { summa = k * count; if(summa<=9) { cout << "0"; } cout << summa << "\n"; } return 0; }

Output:

09 18 27 36 45 54 63 72 81 90

Permalänk
Medlem
Skrivet av Dimman:

En loop ja, annars har du ett antal fel:

i < 10 i for-loopen och ta bort "++k" och ersätt k i cout med k--

Du har rätt med k-- (Eller --k skulle jag nog ta).

i < 10 anser jag är rätt, då i alltid kommer att öka innan den kollen görs, och om i är 10 så kommer inte det i for satsen ske.

Permalänk
Skrivet av Reyintaz:

Du har rätt med k-- (Eller --k skulle jag nog ta).

i < 10 anser jag är rätt, då i alltid kommer att öka innan den kollen görs, och om i är 10 så kommer inte det i for satsen ske.

Ja, det är rätt, du hade råkat skriva i > 10 i din kod dock.

Permalänk
Medlem
Skrivet av Human_Metal:

Ja, det är rätt, du hade råkat skriva i > 10 i din kod dock.

Haha... jao du, vad ska jag säga? Skriva kod i en forum tråd utan att kontrollera är inte min starka sida.

Permalänk
Medlem

Alltså jag fattar ingen ting, vi har precis börjar kursen så jag förstår inte när alla säger en liten bit var. Kan någon vara snäll och sammanfatta det? Testade och köra de koder vissa av er skrev men det funka inte.

Jag är noob på programmering

Jag ska helst använda mig utav while:ar då det är det vi använder för tillfället

Permalänk
Skrivet av Alex96:

Alltså jag fattar ingen ting, vi har precis börjar kursen så jag förstår inte när alla säger en liten bit var. Kan någon vara snäll och sammanfatta det? Testade och köra de koder vissa av er skrev men det funka inte.

Jag är noob på programmering

Jag ska helst använda mig utav while:ar då det är det vi använder för tillfället

Om du prompt måste använda dig av while:

int i = 0; while (true) { std::cout << i << 9 - i << std::endl; if (i == 9) break; // i är 9, vi är färdiga, avbryt! i++; }

Visa signatur

Citera, tack!
Har du läst tråden om strandhögtalare och andra musiklådor?

Permalänk
Medlem
Skrivet av blomqvist:

Om du prompt måste använda dig av while:

int i = 0; while (true) { std::cout << i << 9 - i << std::endl; if (i == 9) break; // i är 9, vi är färdiga, avbryt! i++; }

Tack!!

Permalänk
Medlem
Skrivet av Reyintaz:

Du har rätt med k-- (Eller --k skulle jag nog ta).

i < 10 anser jag är rätt, då i alltid kommer att öka innan den kollen görs, och om i är 10 så kommer inte det i for satsen ske.

Du skrev i > 10, det är fel vilket jag påpekade.

Nej, --k minskar k innan den skriver ut och du satte k till 9, den skulle isf starta på 8 och gå till -1 vilket är fel.

Så k-- ska användas i det fallet, vilket jag skrev.

Visa signatur

Citera mig för svar.
Arch Linux

Permalänk
Medlem
Skrivet av blomqvist:

Om du prompt måste använda dig av while:

int i = 0; while (true) { std::cout << i << 9 - i << std::endl; if (i == 9) break; // i är 9, vi är färdiga, avbryt! i++; }

Ganska dålig stil att breaka sig ur en så simpel while-loop.

while(i < 10) { std::cout << i << 9 - i << std::endl; i += 1; }

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Skrivet av Alex96:

Hejsan jag har fått en övnings uppgift att göra 2 loopar som ska skriva 0-9 och 9-0 här är uppgiften:

Gör ett program som, med hjälp av en loopar, skriver ut den ena siffran 0 - 9 och den
andra siffra 9 - 0, dvs den ena siffra räknar uppåt och den andra neråt.

Jag har bara listat ut hur den ska skriva 01234567899876543210 och så ska det inte vara utan det ska stå:

09
18
27
36
45
54
63
72
81
90

Kod:
int var1=0;
int var2=9;
while (var1<=9)
{
cout<<var1<<endl;
var1++;
}
while (var2>=0)
{
cout<<var2<<endl;
var2--;
}

Tacksam för hjälp detta är en övningsuppgift för att klara ett prov på onsdag.

int var1 = 0; while (var1 <= 9){ cout << var1 << 9 - var1 << endl; var1++; }

Om du tar bort den andra while-satsen och skriver cout<<var1<<9-var1<<endl; i stället för cout<<var1<<endl; får du det resultatet på enklast vis... Eller som någon föreslog så kan man ersätta whilen med en for för att slippa var1++ också...

Ett litet tips i alla välmening också, var inte rädd för mellanslag i koden. Det blir mer lättläst, speciellt när programmen börjar bli större och mer avancerade...

Visa signatur

Corsair Vengeance LPX 4x8GB DDR4 2666MHz CL16 | Intel Core i7 6700 3,4 GHz 8MB | MSI Z170A KRAIT GAMING | Corsair Force Series 3 120 GB | Seagate SSHD Desktop 2 TB 7200 RPM 3,5" | Creative Sound Blaster Z PCIe | Western Digital 500 GB | Samsung Writemaster | Corsair TX750 V2 750 W | EVGA GeForce GTX 970 4GB SSC ACX 2.0+| Fractal Design Define R5 (Svart)

Permalänk
Skrivet av Teknocide:

Ganska dålig stil att breaka sig ur en så simpel while-loop.

while(i < 10) { std::cout << i << 9 - i << std::endl; i += 1; }

Ja. I maskinkod bör det bli samma, dock.

Det var mest för att framhäva hur onödigt det är med while-sats i detta fall.

Visa signatur

Citera, tack!
Har du läst tråden om strandhögtalare och andra musiklådor?