4 svar
236 visningar
Mohamed.Mohamoud är nöjd med hjälpen
Mohamed.Mohamoud 17
Postad: 23 maj 2018 20:14

Anropning av metod.

Hejsan!

Jag håller på med en uppgift som säger att jag ska göra en metod som deklarerar 5 osoterade värden i en fältvariabel och jag ska anropa en annan metod som ska sotera den. När jag anropar metoden "Sotera(double vektor[])" så vägrar kompilatorn att köra.

Ps: Jag är väldigt ny till programmering.

Koden ser ut såhär

static void testa_sotera(){        // Metoden som ska deklarera de osoterade värderna.
int vektor[] = {3, 5, 7, 2, 6};       // Deklarerar 5 osoterade värden i en fältvariabel.

Sortera(double vektor[]);         // Kompilatorn vägrar anropa metoden som ska sotera.
}
}

 

Och för er som är nyfikna så är koden till den andra metoden här:

 

static void Sortera(double vektor[])
{
int sistaIndex = vektor.length - 1;
for (int i = 0; i < sistaIndex; i++)
{
int minIndex = i;
for (int j = i + 1; j <= sistaIndex; j++)
{
if (vektor[j] < vektor[minIndex])
{
minIndex = j;
}
}
if (minIndex > i)
{
double temp = vektor[i];
vektor[i] = vektor[minIndex];
vektor[minIndex] = temp;
}
}
}

 

Mvh Mohamed Mohamoud

AlvinB 4014
Postad: 23 maj 2018 20:31 Redigerad: 23 maj 2018 20:31

Sortera(double vektor[]);

Det här är fel. Om du vill anropa metoden 'Sortera' med arrayen 'vektor' ska du skriva:

Sortera(vektor);

Det kommer dock inte heller att funka direkt eftersom 'vektor' är en array av typ int medans 'Sortera' behöver en array av typ double. Antingen kan du ändra variabeln 'vektor' till att vara en double-array eller så ändrar du argumentet för 'Sortera' så att den tar en int-array.

Mohamed.Mohamoud 17
Postad: 23 maj 2018 20:41

Jag tror jag fattade vad du menade, jag ändrade koden såhär. Är det här du menade? För att kompilatorn accepterar detta.

static void testa_sotera(){
double vektor[] = {3.0, 5.0, 7.0, 2.0, 6.0};

Sortera(vektor);
}
}

AlvinB 4014
Postad: 23 maj 2018 20:42

Japp, det var precis så jag menade. Funkar det när du kör programmet?

Mohamed.Mohamoud 17
Postad: 23 maj 2018 20:43

Ja den fungerade, jag ska skriva klart koden. Tack så otroligt mycket!

Svara Avbryt
Close