Gå til innhold

Får ikke til oppgave om interne variabler


Anbefalte innlegg

Hei

 

Driver med en programbit som bytter om innholdet i to dataceller;

hjelp = tall1;
tall1 = tall2;
tall2 = hjelp;

Som dere ser er navnet på den interne variabelen her "hjelp". Denne brukes som midlertidig lagring av innholdet i "tall1".

 

Deretter skal jeg lage ett program som prøver ut programbiten, noe jeg ikke helt får til.. Noen som kan

komme me ett kodeeksempel der en slik programbit blir prøvd ut? Tips?

Lenke til kommentar
Videoannonse
Annonse

void bubbleSort(int *array, int length)
{
 int i, j, temp;
 int test; /*use this only if unsure whether the list is already sorted or not*/
 for(i = length - 1; i > 0; i--)
 {
test=0;
for(j = 0; j < i; j++)
{
  if(array[j] > array[j+1]) /* compare neighboring elements */
  {
	temp = array[j];	/* swap array[j] and array[j+1] */
	array[j] = array[j+1];
	array[j+1] = temp;
	test=1;
  }
} /*end for j*/
if(test==0) break; /*will exit if the list is sorted!*/
 } /*end for i*/

}/*end bubbleSort*/

kan hende jeg misforstår hva du er ute etter da :D

 

temp = array[j];

array[j] = array[j+1];

array[j+1] = temp;

 

et kodeeksempel hvor verdien i to variabler blir byttet vha en tredje variabel, yes?

 

se her for en forklaring på hva bubblesort er for noe.

Endret av charlie di meola
Lenke til kommentar

Nå vet ikke jeg nøyaktig hvor enkelt du vil ha det, men her er ihvertfall ett av de enkleste eksemplene en får om akkuratt dette:

 

demo.cpp

#include <iostream>

using namespace std;

int main()
{
int tall1;	//variabel #1, kan være av en annen datatype
int tall2;	//variabel #2
int tmp;	//hjelpe variabel, for å bytte verdier

cout << "Demo app. for å bytte tall på to variabler..." << endl;

// Les inn start verdier til variablene
cout << "Tast inn variabel #1: ";
cin >> tall1;
cout << "Tast inn variabel #2: ";
cin >> tall2;

//Skriv ut verdier før bytte
cout << "\n\nStart verdier: "<< endl;
cout << "Tall1: " << tall1 << endl;
cout << "Tall2: " << tall2 << endl;

//utfør bytte
tmp = tall1;
tall1 = tall2;
tall2 = tmp;

//Skriv ut verdier etter bytte
cout << "\nVerdier etter bytte:" << endl;
cout << "Tall1: " << tall1 << endl;
cout << "Tall2: " << tall2 << endl;

return 0;
}

 

Du kan fint bruke andre datatyper enn int, som string/char/double osv.

Noe en også kan gjøre hvis en ønsker å lære seg å skrive objektorientert,

er å ligge de forskjellige delene av programmer i funksjoner.

F.eks en funksjon for å lese inn tallene, en for å bytte de om og en for å skrive de ut til skjermen.

 

eksempler på funksjonsprototyper:

void lesInnTall(int &tall1, int &tall2);
void byttVerdi(int &tall1, int &tall2);
void skrivTilSkjerm(int tall1, int tall2);

 

Hvis du er helt nybegynner kan funksjoner med referanseoverføring kansje være litt avansert.

 

Håper dette hjelper...

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...