Avatar billede maxmuldjord Nybegynder
22. september 2004 - 18:11 Der er 21 kommentarer og
3 løsninger

største tal i mit array

ok exp nu er den gal igen. Min dromedar af en lærer er for langsom jeg har ikke tid til at vente så here goes; jeg skal nu have udskrevet det største tal af min array average, jeg havde tænkt mig at jeg kunne lve en metode der ser ud som følger :

public static int MaxArray (int[] average)
           
        {
        for (int i=0; i < average.Length; i++)
            return MaxArray();
      }

Nu brokker den sig " No overload for metod MaxArray takes 0"

Hvis jeg får det til at virke regner jeg med at jeg bare kan udskrive MaxArray? Hele smøren kommer her;

using System;

namespace ArrayCalculator
{
   
    class ArrayCalculator
    {
       
        public static void Main(string[] args)
        {
            double []average = new double [10];

            Console.WriteLine("Enter 10 numbers and get average value:", average.Length);
            for (int i = 0; i < average.Length; i++)
            {
                Console.Write("Enter number {0}: ",i+1);
                average[i] = Convert.ToDouble(Console.ReadLine());
            }
       
            Console.WriteLine("Average number:"+ AverageAmount(average));
            Console.ReadLine();
        }
        public static double AverageAmount(double [] amount)
        {
            double amountSum = 0;
            for  (int i = 0; i < amount.Length; i++)
                amountSum += amount [i];
            return (double) (amountSum / amount.Length);
               
        }
        public static int MaxArray (int[] average)
           
        {
        for (int i=0; i < average.Length; i++)
            return MaxArray();
      }
    }
}
Avatar billede jpvj Nybegynder
22. september 2004 - 18:16 #1
public static int MaxArray (int[] average)

bør nok ændres til:

public static int MaxArray (double[] average)
Avatar billede jpvj Nybegynder
22. september 2004 - 18:19 #2
Sorry - nu kan jeg se det:
(med forbehold for rustent C# kodning :-) )

public static int MaxArray (double[] average)
{
  // lav evt test for, om average arr er tomt...

  double val = average[0];
  for (int i=0; i < average.Length; i++)
  {
    if val>average[i] then val=average[i];
  } 

  return val;
}
Avatar billede jpvj Nybegynder
22. september 2004 - 18:20 #3
og så bør funktionen vel returnere en double (ellers skal du nok typecaste resultatet):

public static double MaxArray (double[] average)
{
  // lav evt test for, om average arr er tomt...

  double val = average[0];
  for (int i=0; i < average.Length; i++)
  {
    if val>average[i] then val=average[i];
  } 

  return val;
}
Avatar billede maxmuldjord Nybegynder
22. september 2004 - 18:28 #4
Den brokker sig over manglende parenteser (de skal vel være efter if?) og så kan den heller ikke lide "then" Nu er jeg MEGET ny men man skal vel heller ikke slutte en if med ;?

8>)
Avatar billede dna Nybegynder
22. september 2004 - 18:32 #5
if(val<average[i]) {
  val = average[i];
}


At bruge if then end if er vist noget VB "snask" :D

dna
Avatar billede maxmuldjord Nybegynder
22. september 2004 - 18:55 #6
Nu siger den: cannot convert type double to int


using System;

namespace ArrayCalculator
{
   
    class ArrayCalculator
    {
       
        public static void Main(string[] args)
        {
            double []average = new double [10];

            Console.WriteLine("Enter 10 numbers and get average value:", average.Length);
            for (int i = 0; i < average.Length; i++)
            {
                Console.Write("Enter number {0}: ",i+1);
                average[i] = Convert.ToDouble(Console.ReadLine());
            }
       
            Console.WriteLine("Average number:"+ AverageAmount(average));
            Console.ReadLine();
        }
        public static double AverageAmount(double [] amount)
        {
            double amountSum = 0;
            for  (int i = 0; i < amount.Length; i++)
                amountSum += amount [i];
            return (double) (amountSum / amount.Length);
               
        }
        public static int MaxArray (double[] average)
           
        {
            double val = average[0];
            for (int i=0; i < average.Length; i++)
            {
                if (val>average[i])
                {
                    val=average[i];
                } 
            }
            return val;

      }
    }
}
Avatar billede dna Nybegynder
22. september 2004 - 19:18 #7
public static int MaxArray (double[] average)

Skal ændres til:

public static double MaxArray (double[] average)

Således at din metode har double som returntype

dna
Avatar billede maxmuldjord Nybegynder
22. september 2004 - 19:43 #8
hmmmmmm.. så siger den cannot implicty convert double [] to double
Avatar billede dna Nybegynder
22. september 2004 - 19:49 #9
Kan du ikke lige skrive din kode igen... :D

dna
Avatar billede maxmuldjord Nybegynder
22. september 2004 - 20:50 #10
jo nu kommer hele smøren, som du kan se har jeg eksperimenteret lidt men med samme resultat;

using System;

namespace ArrayCalculator
{
   
    class ArrayCalculator
    {
       
        public static void Main(string[] args)
        {
            double []average = new double [10];

            Console.WriteLine("Enter 10 numbers and get average value:", average.Length);
            for (int i = 0; i < average.Length; i++)
            {
                Console.Write("Enter number {0}: ",i+1);
                average[i] = Convert.ToDouble(Console.ReadLine());
            }
       
            Console.WriteLine("Average number:"+ AverageAmount(average));
            Console.ReadLine();
        }
        public static double AverageAmount(double [] amount)
        {
            double amountSum = 0;
            for  (int i = 0; i < amount.Length; i++)
                amountSum += amount [i];
            return (double) (amountSum / amount.Length);
               
        }
        public static double MaxArray (double [] average)
           
        {
        for (int i=0; i < average.Length; i++)
            return (average);
      }
    }
}
Avatar billede arne_v Ekspert
22. september 2004 - 20:55 #11
Det er jo en gammel version.

Tag indmaden fra den 18:55:36
Avatar billede arne_v Ekspert
22. september 2004 - 20:56 #12
public static double MaxArray (double [] average)
         
        {
            double val = average[0];
            for (int i=0; i < average.Length; i++)
            {
                if (val>average[i])
                {
                    val=average[i];
                }
            }
            return val;
      }
Avatar billede arne_v Ekspert
22. september 2004 - 20:56 #13
Og så skal den vist lige rettes til:

public static double MaxArray (double [] average)
       
        {
            double val = average[0];
            for (int i=1; i < average.Length; i++)
            {
                if (val<average[i])
                {
                    val=average[i];
                }
            }
            return val;
      }
Avatar billede maxmuldjord Nybegynder
22. september 2004 - 21:02 #14
uppppss , jeg havde den gamle i udklipsholderen, undskyld! Kan i fortælle mig hvorfor jeg egentlig får fejl i 20.05.05 og ikke i den sidste?
Avatar billede maxmuldjord Nybegynder
22. september 2004 - 21:03 #15
det skulle være 20.50.05
Avatar billede arne_v Ekspert
22. september 2004 - 21:23 #16
public static double MaxArray (double [] average)
    {
        for (int i=0; i < average.Length; i++)
            return (average);
    }

forsøger at returnere et double array i en metode kun skal returnere en double.
Avatar billede maxmuldjord Nybegynder
23. september 2004 - 08:02 #17
ok, tak, hvem skal nu have points?
Avatar billede arne_v Ekspert
23. september 2004 - 08:31 #18
Det skal dem som du synes har hjulpet dig.

Du kan godt dele point mellem flere svarere.

Du kan sågar fordele point manuelt således at hvis du deler behøver du ikke give
alle lige mange.

Du er 100% "in control".

(hvis dem du vil tildele point ikke har lagt svar skal du selvfølgelig lige
bede de sløve padder om at gøre det)
Avatar billede maxmuldjord Nybegynder
23. september 2004 - 21:45 #19
Ja jeg har ikke så mange point at gøre godt med men jeg vil gerne give lidt til alle? så hvis de sløve padder (arne og dna)smider et svar så bliver der lige 5 til hver! Nu skal i ikke gå hen og klatte dem væk vel?

8>)
Avatar billede arne_v Ekspert
23. september 2004 - 21:46 #20
kommer her
Avatar billede arne_v Ekspert
23. september 2004 - 21:47 #21
og rolig - jeg klatter dem ikke væk - jeg samler
Avatar billede maxmuldjord Nybegynder
23. september 2004 - 22:02 #22
ok så venter vi lige på dna
Avatar billede dna Nybegynder
23. september 2004 - 22:42 #23
svar.. lidt har vel også ret! :D

dna
Avatar billede maxmuldjord Nybegynder
24. september 2004 - 07:18 #24
tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester