Question trying to build a list of temperatures - datastrucure needed for count

cfrank2000

Well-known member
Joined
Mar 6, 2021
Messages
71
Programming Experience
Beginner
metjelentes:
using System;
using System.IO;
using System.Text;
using System.Linq;
using System.Collections.Generic;

namespace metjelentes
{
    using System;
    class mystruct
    {
        public string telepulesKod { get; set; }
        public string[] mertErtekek { get; set; }
        public string[] ertekek { get; set; }
        public int atlaghm { get; set; }
        public int Minhm { get; set; }
        public int Maxhm { get; set; }
    }
    class adatok0
    {
        public string telepules { get; set; }
        public string ido { get; set; }
        public string szeliranyes_erosseg { get; set; }
        public int homerseklet { get; set; }
        public int sorszam { get; set; }
    
        public int ertekek { get; set; }
   }

    class beolvasas
    {
        int db = -1;
        string ido = "";
        string utolsomeres = "";
        
        int kertszam = 0;
        int maxhom = 0;
        public int minhom = 0;
        int hom = 0;
        int maxindex = 0;
        int hossz = 0;
        string kerttelepules = "";
        public List<adatok0> lista = new List<adatok0>();
        public List<int> homersekletlista = new List<int>();
        public List<string> telepulesek = new List<string>();
        public List<string[]> idopont = new List<string[]>(2);
        public void beolvas()
        {

            string olvas = @"c:\Users\Public\textfiles\tavirathu13.txt";
            using (StreamReader sr = new StreamReader(olvas, Encoding.Default))
            {
                //StreamReader sr = new StreamReader(olvas, Encoding.Default);

                //List<adatok> lista = new List<adatok>();

                while (!sr.EndOfStream)
                {
                    string[] sor = sr.ReadLine().Split(' ');
                    //string[] elemek = sor.Split(' ');
                    adatok0 adat = new adatok0();

                    adat.telepules = sor[0];
                    adat.ido = sor[1];
                    adat.szeliranyes_erosseg = sor[2];
                    adat.homerseklet = Int32.Parse(sor[3]);
                    lista.Add(adat);
                    db++;
                    adat.sorszam = db;
                }
                Random rd = new Random();
                kertszam = rd.Next(1, db);
                hossz = db;
            }
        }
        public void szamol()
        {
            int n = -1;
            foreach (adatok0 dt in lista)
            { n++;
                if (n == kertszam)
                {

                    kerttelepules = dt.telepules;
                    ido = dt.ido;

                }
                

            }
            n = 0;
            int m = 0;
            foreach (adatok0 dt in lista)
            {
                //m++;
                //maxindex = m;
                if (lista[kertszam].telepules == dt.telepules)
                {
                    ido = dt.ido;
                   // Console.WriteLine(" m " + m + " telepules " + kerttelepules + "  " + ido + " " + hom);
                    hom = dt.homerseklet;
                    homersekletlista.Add(hom);
                    homersekletlista.Sort();
                }
                utolsomeres = ido;
            }
            //Console.WriteLine(" n " + n + " ido " + utolsomeres);

        
        foreach (int ct in homersekletlista)
            {
                //Console.WriteLine(" homerseklet " +ct);
                maxhom = ct;
            }
            minhom = homersekletlista[0];
            //Console.WriteLine(" min  homersekle   " + minhom);
            //maxhom = homersekletlista[maxindex-1];//
            //Console.WriteLine(" max  homersekle   " + maxhom);
           /*
          
            /*       */
            }
        //List<int> a = new List<int>();
        int[] a2 = new int[900];
        int i = 0;
        int j = 0;
        int k = -1;
        
        string[] tomb = new string[900];
        List<mystruct> tmb2 = new List<mystruct>();
        List<int> lst1 = new List<int>();
        List<int> lst2 = new List<int>();
        int[,] Vektor = new int[100, 400];

        // hossz = str1.Length;

        public void valogat()
        {
            for (i = 0; i < hossz; i++)
            {
                for (j = 0; j < hossz; j++)
                {
                    if (lista[j].telepules == lista[i].telepules)
                    {

                        a2[j] += 1;
                        if (a2[j] < 2)
                        {
                            //mystruct myrek = new mystruct();
                          
                            //tomb[i] = Convert.ToString(str1[i]);
                           // myrek.kar = lista[j].telepules;
                            
                            k = k + 1;
                            tomb[i]= lista[i].telepules;
                          
                        }
                        else
                        {
                            tomb[i] = "empty";
                        }

                    }
                   // Console.WriteLine(" " + tomb[i]);
                }
                //Console.WriteLine(" tomb[ " + i + " ] " + tomb[i]);
            }
            Console.WriteLine(db + " db ");
            for (i=0;i<db;i++)
            {
                //Console.WriteLine(db + " tomb[ " + i + " ] " + tomb[i]);
                if (tomb[i] != "empty")
                {
                    mystruct mydata1 = new mystruct();
                    mydata1.telepulesKod = tomb[i];
                    Console.WriteLine(" "+db+ " tomb[ " + i + " ] " + mydata1.telepulesKod);
                    tmb2.Add(mydata1);
                    if (lista[j].ido.Substring(0, 2) == ora[l].ToString() == true)
                    {
                        if (lista[j].homerseklet > 0)
                        {

                           // Console.Write(lista[j].ido.Substring(0, 2) + " ora " + lista[j].homerseklet + " fok ");
                            Vektor[i, j] = lista[j].homerseklet;
                            lst1.Add(Vektor[i, j]);


                        }

                    }

                }
            }
                
            
            foreach (mystruct dt3 in tmb2)
            {
                Console.WriteLine(" tmb2[ ] " + dt3.telepulesKod);
            }

        }

        int[] ora = new int[4] { 1, 7, 13, 19 };
        int l = 0;
        //List<int[,]> vektor = new List<int[,]>();
      

        public void meresek()
        {
            Console.WriteLine(" 1 ");
            Console.WriteLine(" tmb2 " + tmb2.Count);
            Console.WriteLine(" 2 ");
            for (int i3=0;i3< tmb2.Count; i3++)
                {
                Console.WriteLine("  ");
                Console.WriteLine("  " + tmb2.Count +"  "+ tmb2[i3].telepulesKod);
                Console.WriteLine("  ");
                for (j = 0; j < db; j++)
                    {

                        if (tmb2[i3].telepulesKod == lista[j].telepules)
                        {
                           // Console.Write(" " + lista[j].homerseklet);
                        for (l=0;l<4;l++)
                        {
                        /* */   
                            if (lista[j].ido.Substring(0, 2)==ora[l].ToString() == true)
                            {
                                if (lista[j].homerseklet > 0 )
                                {
                                   mystruct rek1 = new mystruct;
                                    List<adatok0> mert1 = new List<adatok0>();
                               // mystruct merthom = new mystruct();
                                    //Console.Write(" j "+j+" "+lista[j].ido.Substring(0, 2) + " ora " + lista[j].homerseklet + " fok ");
                                    Console.Write( "  " + lista[j].homerseklet + " fok ");
                                    Vektor[i3, j] = lista[j].homerseklet;
                                    lst1.Add(Vektor[i3, j]);
                                    rek1.ertekek[j] = lista[j].homerseklet;
                                    mert1[].ertekek.Add(lista[j].homerseklet.ToString());


                                }
                                //Console.Write("  ");
                            }
                                                      
                        }
                        
                        }
                  
                    }
                //Console.WriteLine(" ");
                

            }
            Console.WriteLine(" ");
           // foreach (int a1 in lst1)
           // {
               // Console.Write("   " + a1);

          //  }
          ///  lst1.Clear();
        }
        int i1 = 0;
        int j1 = 0;
        public void kiiras()
        {
            /*
            for (i1 = 0; i1 < 100; i1++)
            {
                for (j1 = 0; j1 < db; j1++)
                    { if (Vektor[i1, j1] != 0)
                        {
                            //Array.Sort();
                            Console.Write(" v " + Vektor[i1, j1]);
                        }
                     }
                Console.WriteLine("  ");
            }
            */
            for (int i = 0; i<db; i++)
                {
                    Console.WriteLine(" ");
                // rekordlista adat = new rekordlista();
              
                Console.WriteLine(
                         " Sorszam   " + lista[i].sorszam +
                         " Telepules " + lista[i].telepules +
                         " Ido   " + lista[i].ido +
                         " Szelirany es_erosseg " + lista[i].szeliranyes_erosseg +
                         " Homerseklet " + lista[i].homerseklet
                        );

                    //fordulo = fordulo + Int32.Parse(rlista[i].fordulo);
                    //telitalalatok = telitalalatok + Int32.Parse(rlista[i].Ndarab13p1talalat);
                    //osszeg = osszeg + rlista[i].ossznyeremeny;

                }
            Console.WriteLine(" A rekordok szama db " + db);
            Console.WriteLine("  2. Feladat ");
            Console.WriteLine("     A kert kod " + kertszam + " Telepules " + lista[kertszam].telepules+ " Ido   " + lista[kertszam].ido);
            Console.WriteLine("     A kert telepules kod " + kerttelepules);
            Console.WriteLine("     Az utolso meresi adat   " + utolsomeres);
            Console.WriteLine("  3. Feladat ");
            Console.WriteLine("     A mert homerseklet maximum "+maxhom+ " Minimum homerseklet "+minhom);
            Console.WriteLine("  4. Feladat ");
            foreach (adatok0 dt in lista )
            {
                if ("00000" == dt.szeliranyes_erosseg)
                {
                    Console.WriteLine("     szelcsend " + dt.telepules+" "+dt.ido);
                }
            }
            Console.WriteLine("  5. Feladat ");
            Console.WriteLine("     Szereplo Telepulesek kodja ");
            foreach (mystruct dt3 in tmb2)
            {
                Console.WriteLine("     Az adott Telepules " + dt3.telepulesKod);
            }
        }
        }
    
       class Program
        {
            static void Main(string[] args)
            {
            beolvasas kiir1 = new beolvasas();
            kiir1.beolvas();
            kiir1.szamol();
            kiir1.valogat();
            kiir1.meresek();
            kiir1.kiiras();
            //Console.WriteLine("Hello World!");
        }
        }
}
 

cfrank2000

Well-known member
Joined
Mar 6, 2021
Messages
71
Programming Experience
Beginner
On the line:
C#:
measurements[i3].Add(tmb2[i3].localitycode, Vektor[i3, j]);

The error is:
C#:
CS1503    Argument 2: cannot convert from 'int' to 'int[]'

This is because measurements[i3] is a Dictionary<string, int[]>. So when you are calling Add() the first parameter should be a string, and the second parameter should be an array of integers. Vektor[i3, j] is a single integer, not an array of integers. Therefore, you are getting the error.

Why do you need a list of dictionaries?
thank you. what I don't understand in dictionary matter, the first parameter is city code (string), second is an array of int. the array of int should hold the measured values for farther operations, the string the city code. can you help me please? thank you
 

Skydiver

Staff member
Joined
Apr 6, 2019
Messages
3,762
Location
Chesapeake, VA
Programming Experience
10+
I can't help you because you an int cannot hold a string city code no matter what you try to do. Furthermore, an array is a fixed size data structure. You can't add more items into the array "for farther (sic) operations".

If you don't understand how to use a dictionary, then don't use it. Just use a list that contains another data structure that contains a list. Something like this:

C#:
record Measurement
{
    public string Time { get; init; }
    public string WindDirectionAndStrength { get; init; }
    public int Temperature { get; init; }
    public int LineNumber { get; init; }
}

class LocalityData
{
    public string Locality { get; set; }
    public List<Measurement> Measurements { get; private set; }

    public string LocalityMeasurements(string locality)
    {
        Locality = locality;
        Measurements = new List<Measurement>();
    }
}

:

var localityMeasurements = new List<LocalityData>();

int lineNumeber = 1;
foreach(var line in File.ReadLines(inputFile))
{
    var columns = line.Split(' ');
    var locality = columns[0];
    var measurement = new Measurement
        {
            Time = columns[1],
            WindDirectionAndStrength = columns[2],
            Temperature = int.Parse(columns[3]),
            LineNumber = lineNumber;
        };

    var localityData = localityMeasurements.Find(lm => lm.Locality == locality);
    if (localityData == null)
    {
        localityData = new LocalityData(locality);
        localityMeasurements.Add(localityData);
    }
    localityData.Measurements.Add(measurement);
    lineNumber++;
}

foreach(var localityData in localityMeasurements)
{
    var measurements = localityData.Measurements;
    var min = measurements.Min(m => m.Temperature);
    var max = measurements.Max(m => m.Temperature);
    var ave = measurements.Average(m => m.Temperature);
    Console.Writeline($"Locality: {localityData.Locality}    Mininum:{min}    Maximum:{max}    Average:{ave}    Count:{measurements.Count}");
}
 

cfrank2000

Well-known member
Joined
Mar 6, 2021
Messages
71
Programming Experience
Beginner
I can't help you because you an int cannot hold a string city code no matter what you try to do. Furthermore, an array is a fixed size data structure. You can't add more items into the array "for farther (sic) operations".

If you don't understand how to use a dictionary, then don't use it. Just use a list that contains another data structure that contains a list. Something like this:

C#:
record Measurement
{
    public string Time { get; init; }
    public string WindDirectionAndStrength { get; init; }
    public int Temperature { get; init; }
    public int LineNumber { get; init; }
}

class LocalityData
{
    public string Locality { get; set; }
    public List<Measurement> Measurements { get; private set; }

    public string LocalityMeasurements(string locality)
    {
        Locality = locality;
        Measurements = new List<Measurement>();
    }
}

:

var localityMeasurements = new List<LocalityData>();

int lineNumeber = 1;
foreach(var line in File.ReadLines(inputFile))
{
    var columns = line.Split(' ');
    var locality = columns[0];
    var measurement = new Measurement
        {
            Time = columns[1],
            WindDirectionAndStrength = columns[2],
            Temperature = int.Parse(columns[3]),
            LineNumber = lineNumber;
        };

    var localityData = localityMeasurements.Find(lm => lm.Locality == locality);
    if (localityData == null)
    {
        localityData = new LocalityData(locality);
        localityMeasurements.Add(localityData);
    }
    localityData.Measurements.Add(measurement);
    lineNumber++;
}

foreach(var localityData in localityMeasurements)
{
    var measurements = localityData.Measurements;
    var min = measurements.Min(m => m.Temperature);
    var max = measurements.Max(m => m.Temperature);
    var ave = measurements.Average(m => m.Temperature);
    Console.Writeline($"Locality: {localityData.Locality}    Mininum:{min}    Maximum:{max}    Average:{ave}    Count:{measurements.Count}");
}
yes I made mistake. I am sorry. I made changing. I have another mistake. I try to sort different line of numbers . I try to get mean value linen by line but the sort part is not working.
weather cast:
using System;
using System.IO;
using System.Text;
using System.Linq;
using System.Collections.Generic;

namespace metreport
{
    //using System;
    class mystruct
    {
        public string localitycode { get; set; }
        public string[] measuredvalue { get; set; }
        public int[] values { get; set; }
        public int sumval { get; set; }
        public int sumpiece { get; set; }
        public int meantempr { get; set; }
        public int mintempr { get; set; }
        public int maxtempr { get; set; }
    }
    class datas0
    {
        public string locality { get; set; }
        public string time { get; set; }
        public string winddirectionandstrenght { get; set; }
        public int temperature { get; set; }
        public int lineupnm { get; set; }
    
        public int values { get; set; }
   }

    class reading
    {
        int piece = -1;
        string time = ""; string lastmeasures = "";


        int requirednm = 0;
        int maxtempr = 0;
        public int mintepr = 0;
        int tempr = 0;
        int maxindex = 0;
        int lenght1 = 0;
        string requiredlocality = "";
        public List<datas0> list1 = new List<datas0>();
        public List<int> temperaturelist = new List<int>();
        public List<string> localities = new List<string>();
        public List<string[]> appointmenttime = new List<string[]>(2);
        public void read_in()
        {

            string read = @"c:\Users\Public\textfiles\tavirathu13.txt";
            using (StreamReader sr = new StreamReader(read, Encoding.Default))
            {
                //StreamReader sr = new StreamReader(olvas, Encoding.Default);

                //List<adatok> lista = new List<adatok>();

                while (!sr.EndOfStream)
                {
                    string[] row = sr.ReadLine().Split(' ');
                    //string[] elemek = sor.Split(' ');
                    datas0 data = new datas0();

                    data.locality = row[0];
                    data.time = row[1];
                    data.winddirectionandstrenght = row[2];
                    data.temperature = Int32.Parse(row[3]);
                    list1.Add(data);
                    piece++;
                    data.lineupnm = piece;
                }
                Random rd = new Random();
                requirednm = rd.Next(1, piece);
                lenght1 = piece;
            }
        }
        public void count()
        {
            int n = -1;
            foreach (datas0 dt in list1)
            { n++;
                if (n == requirednm)
                {

                    requiredlocality = dt.locality;
                    time = dt.time;

                }


            }
            n = 0;
            int m = 0;
            foreach (datas0 dt in list1)
            {
                //m++;
                //maxindex = m;
                if (list1[requirednm].locality == dt.locality)
                {
                    time = dt.time;
                    // Console.WriteLine(" m " + m + " telepules " + kerttelepules + "  " + ido + " " + hom);
                    tempr = dt.temperature;
                    temperaturelist.Add(tempr);
                    temperaturelist.Sort();
                }
                lastmeasures = time;
            }
            //Console.WriteLine(" n " + n + " ido " + utolsomeres);


            foreach (int ct in temperaturelist)
            {
                //Console.WriteLine(" homerseklet " +ct);
                maxtempr = ct;
            }
            datas0 datas11 = new datas0();
            //datas11.mintempr = temperaturelist[0];
            //Console.WriteLine(" min  homersekle   " + minhom);
            //maxhom = homersekletlista[maxindex-1];//
            //Console.WriteLine(" max  homersekle   " + maxhom);
            /*

             /*       */
        }
        //List<int> a = new List<int>();
        int[] a2 = new int[900];
        int i = 0;
        int j = 0;
        int k = -1;

        string[] tomb = new string[900];
        List<mystruct> tmb2 = new List<mystruct>();
        List<int> lst1 = new List<int>();
        List<int> lst2 = new List<int>();
        int[,] Vektor = new int[100, 400];
        int[,] Vektor2 = new int[100, 400];

        // hossz = str1.Length;

        public void select()
        {
            for (i = 0; i < lenght1; i++)
            {
                for (j = 0; j < lenght1; j++)
                {
                    if (list1[j].locality == list1[i].locality)
                    {

                        a2[j] += 1;
                        if (a2[j] < 2)
                        {
                            //mystruct myrek = new mystruct();

                            //tomb[i] = Convert.ToString(str1[i]);
                            // myrek.kar = lista[j].telepules;

                            k = k + 1;
                            tomb[i] = list1[i].locality;

                        }
                        else
                        {
                            tomb[i] = "empty";
                        }

                    }
                    // Console.WriteLine(" " + tomb[i]);
                }
                //Console.WriteLine(" tomb[ " + i + " ] " + tomb[i]);
            }
            Console.WriteLine(piece + " piece ");
            for (i = 0; i < piece; i++)
            {
                //Console.WriteLine(db + " tomb[ " + i + " ] " + tomb[i]);
                if (tomb[i] != "empty")
                {
                    mystruct mydata1 = new mystruct();
                    mydata1.localitycode = tomb[i];
                    Console.WriteLine(" " + piece + " tomb[ " + i + " ] " + mydata1.localitycode);
                    tmb2.Add(mydata1);
                    if (list1[j].time.Substring(0, 2) == ora[l].ToString() == true)
                    {
                        if (list1[j].temperature > 0)
                        {

                            // Console.Write(lista[j].ido.Substring(0, 2) + " ora " + lista[j].homerseklet + " fok ");
                            Vektor[i, j] = list1[j].temperature;
                            Vektor2[i, j].Sort(Vektor[i, j]);
                            lst1.Add(Vektor[i, j]);


                        }

                    }

                }
            }


            foreach (mystruct dt3 in tmb2)
            {
                Console.WriteLine(" tmb2[ ] " + dt3.localitycode);
            }

        }

        int[] ora = new int[4] { 1, 7, 13, 19 };
        int l = 0;
        //List<int[,]> vektor = new List<int[,]>();

        List<int> MNumbers = new List<int>();
        int[] measurementList = new int[400];
        List<Dictionary<string, int[]>> measurements = new List<Dictionary<string, int[]>>();

        public void measures()
        {
            Console.WriteLine(" help needed for datastructure ");
            Console.WriteLine(" 1 ");
            Console.WriteLine(" tmb2 " + tmb2.Count);
            Console.WriteLine(" 2 ");
            for (int i3=0;i3< tmb2.Count; i3++)
                {
                Console.WriteLine("  ");
                Console.WriteLine("  " + tmb2.Count + " tmb2[ "+ i3+ "] " + tmb2[i3].localitycode);
                Console.WriteLine("  ");
                for (j = 0; j < piece; j++)
                    {
                    
                        if (tmb2[i3].localitycode == list1[j].locality)
                        {
                           // Console.Write(" " + lista[j].homerseklet);
                        for (l=0;l<4;l++)
                        {
                        /* */   
                            if (list1[j].time.Substring(0, 2)==ora[l].ToString() == true)
                            {
                                if (list1[j].temperature > 0 )
                                {
                                   mystruct rek1 = new mystruct();
                                    List<datas0> mert1 = new List<datas0>();
                               // mystruct merthom = new mystruct();
                                    //Console.Write(" j "+j+" "+lista[j].ido.Substring(0, 2) + " ora " + lista[j].homerseklet + " fok ");
                                    Console.Write( "  " + list1[j].temperature + " degree ");
                                    Vektor[i3, j] = list1[j].temperature;
                                    //values[j] = list1[j].temperature;
                                    // measurementList[j]= Vektor[i3, j]);
                                    // measurements[i3].Add(tmb2[j].localitycode, measurementList[j]);
                                    Console.Write("  " + Vektor[i3, j] + " degree ");

                                    lst1.Add(Vektor[i3, j]);
                                   // rek1.values[j] = list1[j].temperature;
                                   // mert1[].ertekek.Add(list1[j].homerseklet.ToString());


                                }
                                //Console.Write("  ");
                            }
                                                      
                        }
                        
                        }
                  
                    }
                //Console.WriteLine(" ");
                

            }
            Console.WriteLine(" ");
           // foreach (int a1 in lst1)
           // {
               // Console.Write("   " + a1);

          //  }
          ///  lst1.Clear();
        }
        int i1 = 0;
        int j1 = 0;
        public void displaying()
        {
            /*
            for (i1 = 0; i1 < 100; i1++)
            {
                for (j1 = 0; j1 < db; j1++)
                    { if (Vektor[i1, j1] != 0)
                        {
                            //Array.Sort();
                            Console.Write(" v " + Vektor[i1, j1]);
                        }
                     }
                Console.WriteLine("  ");
            }
            */
            for (int i = 0; i<piece; i++)
                {
                    Console.WriteLine(" ");
                // rekordlista adat = new rekordlista();
              
                Console.WriteLine(
                         " Lineup number   " + list1[i].lineupnm +
                         " LOcality " + list1[i].locality +
                         " Time   " + list1[i].time +
                         " Wind dorection and strenght " + list1[i].winddirectionandstrenght +
                         " Temperature " + list1[i].temperature
                        );

                    //fordulo = fordulo + Int32.Parse(rlista[i].fordulo);
                    //telitalalatok = telitalalatok + Int32.Parse(rlista[i].Ndarab13p1talalat);
                    //osszeg = osszeg + rlista[i].ossznyeremeny;

                }
            Console.WriteLine(" Number of records " + piece);
            Console.WriteLine("  2. Task ");
            Console.WriteLine("      Requested code " + requirednm + " Locality " + list1[requirednm].locality+ " Time   " + list1[requirednm].time);
            Console.WriteLine("      Required locality code " + requiredlocality);
            Console.WriteLine("      Last measured data   " + lastmeasures);
            Console.WriteLine("  3. Task ");
            Console.WriteLine("      The measured temperature maximum "+maxtempr+ " Minimal temperature "+mintepr);
            Console.WriteLine("  4. Task ");
            foreach (datas0 dt in list1 )
            {
                if ("00000" == dt.winddirectionandstrenght)
                {
                    Console.WriteLine("     no wind " + dt.locality+" "+dt.time);
                }
            }
            Console.WriteLine("  5. Task ");
            Console.WriteLine("     Localities taking part in measurements ");
            foreach (mystruct dt3 in tmb2)
            {
                Console.WriteLine("     Given loclity " + dt3.localitycode);
            }
        }
        }
    
       class Program
        {
            static void Main(string[] args)
            {
            reading display1 = new reading();
            display1.read_in();
            display1.count();
            display1.select();
            display1.measures();
            display1.displaying();
            //Console.WriteLine("Hello World!");
        }
        }
}
can I get help?
 

Skydiver

Staff member
Joined
Apr 6, 2019
Messages
3,762
Location
Chesapeake, VA
Programming Experience
10+
I can see places where you seem to by trying to sort the temperatures, but not where you are trying to sort the line numbers.

I don't understand why you need to sort the temperatures? To get the minimum and maximum values, you just need to scan through the array to find the minimum and max. You don't need to sort the array and then pick out the first and last elements. Besides sorting the temperatures also skews your data now because I would assume you want to keep the chronological ups and downs of the temperature. By sorting it, you will now have the temperatures going from lowest to highest and it doesn't reflect the chronological progression of the temperature over time.

I also don't understand why you would would need to sort by line number. What does that buy you?

I also don't understand why you have that pair of two dimensional arrays. They seem to be completely useless for your goal of presenting the data for each locality, and for the times within that locality. If you need to store tabular data, use a DataTable with properly name columns.
 

cfrank2000

Well-known member
Joined
Mar 6, 2021
Messages
71
Programming Experience
Beginner
I can see places where you seem to by trying to sort the temperatures, but not where you are trying to sort the line numbers.

I don't understand why you need to sort the temperatures? To get the minimum and maximum values, you just need to scan through the array to find the minimum and max. You don't need to sort the array and then pick out the first and last elements. Besides sorting the temperatures also skews your data now because I would assume you want to keep the chronological ups and downs of the temperature. By sorting it, you will now have the temperatures going from lowest to highest and it doesn't reflect the chronological progression of the temperature over time.

I also don't understand why you would would need to sort by line number. What does that buy you?

I also don't understand why you have that pair of two dimensional arrays. They seem to be completely useless for your goal of presenting the data for each locality, and for the times within that locality. If you need to store tabular data, use a DataTable with properly name columns.
if I sort the temperartures I get the min and max values by line. with lenght and sum I can get the mean temperatures. every line means a city code.
 

Skydiver

Staff member
Joined
Apr 6, 2019
Messages
3,762
Location
Chesapeake, VA
Programming Experience
10+
Why not have a Min column and a Max column?
 

cfrank2000

Well-known member
Joined
Mar 6, 2021
Messages
71
Programming Experience
Beginner
Why not have a Min column and a Max column?
theoretically I have but not not yet initialized. only the city code works yet but I would like the rest too, min max and average temperature.
this would be the mentioned part, looking difficult. can I get help? thank you,
detail:
      mystruct mydata1 = new mystruct();
                    mydata1.localitycode = tomb[i];
                    Console.WriteLine(" " + piece + " tomb[ " + i + " ] " + mydata1.localitycode);
                    mydata1.values[i, j] = Vektor[i, j];
                   /// mydata1.sumval = 0;
                   // mydata1.sumpiece =0;
                   //mydata1.meantempr =0;
                   // mydata1.mintempr =0;
                   // mydata1.maxtempr =0;

                    tmb2.Add(mydata1);
 
Last edited:

cfrank2000

Well-known member
Joined
Mar 6, 2021
Messages
71
Programming Experience
Beginner
my new code is :
// if sort works first and last gives min and max values by temperature row
attemp2:
 Console.WriteLine(piece + " piece ");
            for (i = 0; i < piece; i++)
            {
                //Console.WriteLine(db + " tomb[ " + i + " ] " + tomb[i]);
                if (tomb[i] != "empty")
                {
                    mystruct mydata1 = new mystruct();
                 
                    mydata1.localitycode = tomb[i];
                    Console.WriteLine("  " + piece + " tomb[ " + i + " ] " + mydata1.localitycode);
                    mydata1.values[i, j].Sort(Vektor[i, j]);
                    mydata1.sumval = mydata1.values[i, j].Sum();
                    mydata1.sumpiece = mydata1.values[i, j].Count();
                    mydata1.meantempr = mydata1.sumval/ mydata1.sumpiece;
                   // mydata1.mintempr =0;
                   // mydata1.maxtempr =0;

                    tmb2.Add(mydata1);
                    if (list1[j].time.Substring(0, 2) == time[l].ToString() == true)
                    {
                        if (lista[j].homerseklet > 0)

                            // Console.Write(list1[j].time.Substring(0, 2) + " hour " + list1[j].temperature + " degree ");
                            Vektor[i, j] = list1[j].temperature;
                           // Vektor2[i, j].Sort(Vektor[i, j]);
                            lst1.Add(Vektor[i, j]);


                        }

                    }

                }
 

cfrank2000

Well-known member
Joined
Mar 6, 2021
Messages
71
Programming Experience
Beginner
Hi
I post the whole code to present the entire code the find errors. I need help with it. I am beginner. the selection works the rest don'tthank you.
using System;
using System.IO;
using System.Text;
using System.Linq;
using System.Collections.Generic;

namespace metreport
{
//using System;
class mystruct
{
public string localitycode { get; set; }
public string[] measuredvalue { get; set; }
public int[,] values { get; set; }
public int sumval { get; set; }
public int sumpiece { get; set; }
public float meantempr { get; set; }
public int mintempr { get; set; }
public int maxtempr { get; set; }
}
class datas0
{
public string locality { get; set; }
public string time { get; set; }
public string winddirectionandstrenght { get; set; }
public int temperature { get; set; }
public int lineupnm { get; set; }

public int values { get; set; }
}

class reading
{
int piece = -1;
string time = ""; string lastmeasures = "";


int requirednm = 0;
int maxtempr = 0;
public int mintepr = 0;
int tempr = 0;
int maxindex = 0;
int lenght1 = 0;
string requiredlocality = "";
public List<datas0> list1 = new List<datas0>();
public List<int> temperaturelist = new List<int>();
public List<string> localities = new List<string>();
public List<string[]> appointmenttime = new List<string[]>(2);
public void read_in()
{

string read = @"c:\Users\Public\textfiles\tavirathu13.txt";
using (StreamReader sr = new StreamReader(read, Encoding.Default))
{
//StreamReader sr = new StreamReader(olvas, Encoding.Default);

//List<adatok> lista = new List<adatok>();

while (!sr.EndOfStream)
{
string[] row = sr.ReadLine().Split(' ');
//string[] elemek = sor.Split(' ');
datas0 data = new datas0();

data.locality = row[0];
data.time = row[1];
data.winddirectionandstrenght = row[2];
data.temperature = Int32.Parse(row[3]);
list1.Add(data);
piece++;
data.lineupnm = piece;
}
Random rd = new Random();
requirednm = rd.Next(1, piece);
lenght1 = piece;
}
}
public void count()
{
int n = -1;
foreach (datas0 dt in list1)
{ n++;
if (n == requirednm)
{

requiredlocality = dt.locality;
time = dt.time;

}


}
n = 0;
int m = 0;
foreach (datas0 dt in list1)
{
//m++;
//maxindex = m;
if (list1[requirednm].locality == dt.locality)
{
time = dt.time;
// Console.WriteLine(" m " + m + " telepules " + kerttelepules + " " + ido + " " + hom);
tempr = dt.temperature;
temperaturelist.Add(tempr);
temperaturelist.Sort();
}
lastmeasures = time;
}
//Console.WriteLine(" n " + n + " ido " + utolsomeres);


foreach (int ct in temperaturelist)
{
//Console.WriteLine(" homerseklet " +ct);
maxtempr = ct;
}
datas0 datas11 = new datas0();
//datas11.mintempr = temperaturelist[0];
//Console.WriteLine(" min homersekle " + minhom);
//maxhom = homersekletlista[maxindex-1];//
//Console.WriteLine(" max homersekle " + maxhom);
/*

/* */
}
//List<int> a = new List<int>();
int[] a2 = new int[900];
int i = 0;
int j = 0;
int k = -1;

string[] tomb = new string[900];
List<mystruct> tmb2 = new List<mystruct>();
List<int> lst1 = new List<int>();
List<int> lst2 = new List<int>();
int[,] Vektor = new int[80, 380];
int[,] Vektor2 = new int[80, 380];

// hossz = str1.Length;

public void select()
{
for (i = 0; i < lenght1; i++)
{
for (j = 0; j < lenght1; j++)
{
if (list1[j].locality == list1.locality)
{

a2[j] += 1;
if (a2[j] < 2)
{
//mystruct myrek = new mystruct();

//tomb = Convert.ToString(str1);
// myrek.kar = lista[j].telepules;

k = k + 1;
tomb = list1.locality;

}
else
{
tomb = "empty";
}

}
// Console.WriteLine(" " + tomb);
}
//Console.WriteLine(" tomb[ " + i + " ] " + tomb);
}
Console.WriteLine(piece + " piece ");
for (i = 0; i < piece; i++)
{
//Console.WriteLine(db + " tomb[ " + i + " ] " + tomb);
if (tomb != "empty")
{
mystruct mydata1 = new mystruct();

mydata1.localitycode = tomb;
Console.WriteLine(" " + piece + " tomb[ " + i + " ] " + mydata1.localitycode);
mydata1.values[i, j].Sort(Vektor[i, j]);
mydata1.sumval = mydata1.values[i, j].Sum();
mydata1.sumpiece = mydata1.values[i, j].Count();
mydata1.meantempr = mydata1.sumval/ mydata1.sumpiece;
// mydata1.mintempr =0;
// mydata1.maxtempr =0;

tmb2.Add(mydata1);
if (list1[j].time.Substring(0, 2) == ora[l].ToString() == true)
{
if (lista[j].homerseklet > 0)

// Console.Write(lista[j].ido.Substring(0, 2) + " ora " + lista[j].homerseklet + " fok ");
Vektor[i, j] = list1[j].temperature;
// Vektor2[i, j].Sort(Vektor[i, j]);
lst1.Add(Vektor[i, j]);


}

}

}
}


foreach (mystruct dt3 in tmb2)
{
Console.WriteLine(" tmb2[ ] " + dt3.localitycode);
}

}

int[] ora = new int[4] { 1, 7, 13, 19 };
int l = 0;
//List<int[,]> vektor = new List<int[,]>();

List<int> MNumbers = new List<int>();
int[] measurementList = new int[400];
List<Dictionary<string, int[]>> measurements = new List<Dictionary<string, int[]>>();

public void measures()
{
Console.WriteLine(" help needed for datastructure ");
Console.WriteLine(" 1 ");
Console.WriteLine(" tmb2 " + tmb2.Count);
Console.WriteLine(" 2 ");
for (int i3=0;i3< tmb2.Count; i3++)
{
Console.WriteLine(" ");
Console.WriteLine(" " + tmb2.Count + " tmb2[ "+ i3+ "] " + tmb2[i3].localitycode);
Console.WriteLine(" ");
for (j = 0; j < piece; j++)
{

if (tmb2[i3].localitycode == list1[j].locality)
{
// Console.Write(" " + lista[j].homerseklet);
for (l=0;l<4;l++)
{
/* */
if (list1[j].time.Substring(0, 2)==ora[l].ToString() == true)
{
if (list1[j].temperature > 0 )
{
mystruct rek1 = new mystruct();
List<datas0> mert1 = new List<datas0>();
// mystruct merthom = new mystruct();
//Console.Write(" j "+j+" "+lista[j].ido.Substring(0, 2) + " ora " + lista[j].homerseklet + " fok ");
Console.Write( " " + list1[j].temperature + " degree ");
Vektor[i3, j] = list1[j].temperature;
//values[j] = list1[j].temperature;
// measurementList[j]= Vektor[i3, j]);
// measurements[i3].Add(tmb2[j].localitycode, measurementList[j]);
Console.Write(" " + Vektor[i3, j] + " degree ");

lst1.Add(Vektor[i3, j]);
// rek1.values[j] = list1[j].temperature;
// mert1[].ertekek.Add(list1[j].homerseklet.ToString());


}
//Console.Write(" ");
}

}

}

}
//Console.WriteLine(" ");


}
Console.WriteLine(" ");
// foreach (int a1 in lst1)
// {
// Console.Write(" " + a1);

// }
/// lst1.Clear();
}
int i1 = 0;
int j1 = 0;
public void displaying()
{
/*
for (i1 = 0; i1 < 100; i1++)
{
for (j1 = 0; j1 < db; j1++)
{ if (Vektor[i1, j1] != 0)
{
//Array.Sort();
Console.Write(" v " + Vektor[i1, j1]);
}
}
Console.WriteLine(" ");
}
*/
for (int i = 0; i<piece; i++)
{
Console.WriteLine(" ");
// rekordlista adat = new rekordlista();

Console.WriteLine(
" Lineup number " + list1.lineupnm +
" LOcality " + list1.locality +
" Time " + list1.time +
" Wind dorection and strenght " + list1.winddirectionandstrenght +
" Temperature " + list1.temperature
);

//fordulo = fordulo + Int32.Parse(rlista.fordulo);
//telitalalatok = telitalalatok + Int32.Parse(rlista.Ndarab13p1talalat);
//osszeg = osszeg + rlista.ossznyeremeny;

}
Console.WriteLine(" Number of records " + piece);
Console.WriteLine(" 2. Task ");
Console.WriteLine(" Requested code " + requirednm + " Locality " + list1[requirednm].locality+ " Time " + list1[requirednm].time);
Console.WriteLine(" Required locality code " + requiredlocality);
Console.WriteLine(" Last measured data " + lastmeasures);
Console.WriteLine(" 3. Task ");
Console.WriteLine(" The measured temperature maximum "+maxtempr+ " Minimal temperature "+mintepr);
Console.WriteLine(" 4. Task ");
foreach (datas0 dt in list1 )
{
if ("00000" == dt.winddirectionandstrenght)
{
Console.WriteLine(" no wind " + dt.locality+" "+dt.time);
}
}
Console.WriteLine(" 5. Task ");
Console.WriteLine(" Localities taking part in measurements ");
foreach (mystruct dt3 in tmb2)
{
Console.WriteLine(" Given loclity " + dt3.localitycode);
}
}
}

class Program
{
static void Main(string[] args)
{
reading display1 = new reading();
display1.read_in();
display1.count();
display1.select();
display1.measures();
display1.displaying();
//Console.WriteLine("Hello World!");
}
}
}

mteo2:
using System;
using System.IO;
using System.Text;
using System.Linq;
using System.Collections.Generic;

namespace metreport
{
    //using System;
    class mystruct
    {
        public string localitycode { get; set; }
        public string[] measuredvalue { get; set; }
        public int[,] values { get; set; }
        public int sumval { get; set; }
        public int sumpiece { get; set; }
        public float meantempr { get; set; }
        public int mintempr { get; set; }
        public int maxtempr { get; set; }
    }
    class datas0
    {
        public string locality { get; set; }
        public string time { get; set; }
        public string winddirectionandstrenght { get; set; }
        public int temperature { get; set; }
        public int lineupnm { get; set; }
    
        public int values { get; set; }
   }

    class reading
    {
        int piece = -1;
        string time = ""; string lastmeasures = "";


        int requirednm = 0;
        int maxtempr = 0;
        public int mintepr = 0;
        int tempr = 0;
        int maxindex = 0;
        int lenght1 = 0;
        string requiredlocality = "";
        public List<datas0> list1 = new List<datas0>();
        public List<int> temperaturelist = new List<int>();
        public List<string> localities = new List<string>();
        public List<string[]> appointmenttime = new List<string[]>(2);
        public void read_in()
        {

            string read = @"c:\Users\Public\textfiles\tavirathu13.txt";
            using (StreamReader sr = new StreamReader(read, Encoding.Default))
            {
                //StreamReader sr = new StreamReader(olvas, Encoding.Default);

                //List<adatok> lista = new List<adatok>();

                while (!sr.EndOfStream)
                {
                    string[] row = sr.ReadLine().Split(' ');
                    //string[] elemek = sor.Split(' ');
                    datas0 data = new datas0();

                    data.locality = row[0];
                    data.time = row[1];
                    data.winddirectionandstrenght = row[2];
                    data.temperature = Int32.Parse(row[3]);
                    list1.Add(data);
                    piece++;
                    data.lineupnm = piece;
                }
                Random rd = new Random();
                requirednm = rd.Next(1, piece);
                lenght1 = piece;
            }
        }
        public void count()
        {
            int n = -1;
            foreach (datas0 dt in list1)
            { n++;
                if (n == requirednm)
                {

                    requiredlocality = dt.locality;
                    time = dt.time;

                }


            }
            n = 0;
            int m = 0;
            foreach (datas0 dt in list1)
            {
                //m++;
                //maxindex = m;
                if (list1[requirednm].locality == dt.locality)
                {
                    time = dt.time;
                    // Console.WriteLine(" m " + m + " telepules " + kerttelepules + "  " + ido + " " + hom);
                    tempr = dt.temperature;
                    temperaturelist.Add(tempr);
                    temperaturelist.Sort();
                }
                lastmeasures = time;
            }
            //Console.WriteLine(" n " + n + " ido " + utolsomeres);


            foreach (int ct in temperaturelist)
            {
                //Console.WriteLine(" homerseklet " +ct);
                maxtempr = ct;
            }
            datas0 datas11 = new datas0();
            //datas11.mintempr = temperaturelist[0];
            //Console.WriteLine(" min  homersekle   " + minhom);
            //maxhom = homersekletlista[maxindex-1];//
            //Console.WriteLine(" max  homersekle   " + maxhom);
            /*

             /*       */
        }
        //List<int> a = new List<int>();
        int[] a2 = new int[900];
        int i = 0;
        int j = 0;
        int k = -1;

        string[] tomb = new string[900];
        List<mystruct> tmb2 = new List<mystruct>();
        List<int> lst1 = new List<int>();
        List<int> lst2 = new List<int>();
        int[,] Vektor = new int[80, 380];
        int[,] Vektor2 = new int[80, 380];

        // hossz = str1.Length;

        public void select()
        {
            for (i = 0; i < lenght1; i++)
            {
                for (j = 0; j < lenght1; j++)
                {
                    if (list1[j].locality == list1[i].locality)
                    {

                        a2[j] += 1;
                        if (a2[j] < 2)
                        {
                            //mystruct myrek = new mystruct();

                            //tomb[i] = Convert.ToString(str1[i]);
                            // myrek.kar = lista[j].telepules;

                            k = k + 1;
                            tomb[i] = list1[i].locality;

                        }
                        else
                        {
                            tomb[i] = "empty";
                        }

                    }
                    // Console.WriteLine(" " + tomb[i]);
                }
                //Console.WriteLine(" tomb[ " + i + " ] " + tomb[i]);
            }
            Console.WriteLine(piece + " piece ");
            for (i = 0; i < piece; i++)
            {
                //Console.WriteLine(db + " tomb[ " + i + " ] " + tomb[i]);
                if (tomb[i] != "empty")
                {
                    mystruct mydata1 = new mystruct();
                  
                    mydata1.localitycode = tomb[i];
                    Console.WriteLine(" " + piece + " tomb[ " + i + " ] " + mydata1.localitycode);
                    mydata1.values[i, j].Sort(Vektor[i, j]);
                    mydata1.sumval = mydata1.values[i, j].Sum();
                    mydata1.sumpiece = mydata1.values[i, j].Count();
                    mydata1.meantempr = mydata1.sumval/ mydata1.sumpiece;
                   // mydata1.mintempr =0;
                   // mydata1.maxtempr =0;

                    tmb2.Add(mydata1);
                    if (list1[j].time.Substring(0, 2) == ora[l].ToString() == true)
                    {
                        if (lista[j].homerseklet > 0)

                            // Console.Write(lista[j].ido.Substring(0, 2) + " ora " + lista[j].homerseklet + " fok ");
                            Vektor[i, j] = list1[j].temperature;
                           // Vektor2[i, j].Sort(Vektor[i, j]);
                            lst1.Add(Vektor[i, j]);


                        }

                    }

                }
            }


            foreach (mystruct dt3 in tmb2)
            {
                Console.WriteLine(" tmb2[ ] " + dt3.localitycode);
            }

        }

        int[] ora = new int[4] { 1, 7, 13, 19 };
        int l = 0;
        //List<int[,]> vektor = new List<int[,]>();

        List<int> MNumbers = new List<int>();
        int[] measurementList = new int[400];
        List<Dictionary<string, int[]>> measurements = new List<Dictionary<string, int[]>>();

        public void measures()
        {
            Console.WriteLine(" help needed for datastructure ");
            Console.WriteLine(" 1 ");
            Console.WriteLine(" tmb2 " + tmb2.Count);
            Console.WriteLine(" 2 ");
            for (int i3=0;i3< tmb2.Count; i3++)
                {
                Console.WriteLine("  ");
                Console.WriteLine("  " + tmb2.Count + " tmb2[ "+ i3+ "] " + tmb2[i3].localitycode);
                Console.WriteLine("  ");
                for (j = 0; j < piece; j++)
                    {
                    
                        if (tmb2[i3].localitycode == list1[j].locality)
                        {
                           // Console.Write(" " + lista[j].homerseklet);
                        for (l=0;l<4;l++)
                        {
                        /* */   
                            if (list1[j].time.Substring(0, 2)==ora[l].ToString() == true)
                            {
                                if (list1[j].temperature > 0 )
                                {
                                   mystruct rek1 = new mystruct();
                                    List<datas0> mert1 = new List<datas0>();
                               // mystruct merthom = new mystruct();
                                    //Console.Write(" j "+j+" "+lista[j].ido.Substring(0, 2) + " ora " + lista[j].homerseklet + " fok ");
                                    Console.Write( "  " + list1[j].temperature + " degree ");
                                    Vektor[i3, j] = list1[j].temperature;
                                    //values[j] = list1[j].temperature;
                                    // measurementList[j]= Vektor[i3, j]);
                                    // measurements[i3].Add(tmb2[j].localitycode, measurementList[j]);
                                    Console.Write("  " + Vektor[i3, j] + " degree ");

                                    lst1.Add(Vektor[i3, j]);
                                   // rek1.values[j] = list1[j].temperature;
                                   // mert1[].ertekek.Add(list1[j].homerseklet.ToString());


                                }
                                //Console.Write("  ");
                            }
                                                      
                        }
                        
                        }
                  
                    }
                //Console.WriteLine(" ");
                

            }
            Console.WriteLine(" ");
           // foreach (int a1 in lst1)
           // {
               // Console.Write("   " + a1);

          //  }
          ///  lst1.Clear();
        }
        int i1 = 0;
        int j1 = 0;
        public void displaying()
        {
            /*
            for (i1 = 0; i1 < 100; i1++)
            {
                for (j1 = 0; j1 < db; j1++)
                    { if (Vektor[i1, j1] != 0)
                        {
                            //Array.Sort();
                            Console.Write(" v " + Vektor[i1, j1]);
                        }
                     }
                Console.WriteLine("  ");
            }
            */
            for (int i = 0; i<piece; i++)
                {
                    Console.WriteLine(" ");
                // rekordlista adat = new rekordlista();
              
                Console.WriteLine(
                         " Lineup number   " + list1[i].lineupnm +
                         " LOcality " + list1[i].locality +
                         " Time   " + list1[i].time +
                         " Wind dorection and strenght " + list1[i].winddirectionandstrenght +
                         " Temperature " + list1[i].temperature
                        );

                    //fordulo = fordulo + Int32.Parse(rlista[i].fordulo);
                    //telitalalatok = telitalalatok + Int32.Parse(rlista[i].Ndarab13p1talalat);
                    //osszeg = osszeg + rlista[i].ossznyeremeny;

                }
            Console.WriteLine(" Number of records " + piece);
            Console.WriteLine("  2. Task ");
            Console.WriteLine("      Requested code " + requirednm + " Locality " + list1[requirednm].locality+ " Time   " + list1[requirednm].time);
            Console.WriteLine("      Required locality code " + requiredlocality);
            Console.WriteLine("      Last measured data   " + lastmeasures);
            Console.WriteLine("  3. Task ");
            Console.WriteLine("      The measured temperature maximum "+maxtempr+ " Minimal temperature "+mintepr);
            Console.WriteLine("  4. Task ");
            foreach (datas0 dt in list1 )
            {
                if ("00000" == dt.winddirectionandstrenght)
                {
                    Console.WriteLine("     no wind " + dt.locality+" "+dt.time);
                }
            }
            Console.WriteLine("  5. Task ");
            Console.WriteLine("     Localities taking part in measurements ");
            foreach (mystruct dt3 in tmb2)
            {
                Console.WriteLine("     Given loclity " + dt3.localitycode);
            }
        }
        }
    
       class Program
        {
            static void Main(string[] args)
            {
            reading display1 = new reading();
            display1.read_in();
            display1.count();
            display1.select();
            display1.measures();
            display1.displaying();
            //Console.WriteLine("Hello World!");
        }
        }
}
 
Last edited:

jmcilhinney

C# Forum Moderator
Staff member
Joined
Apr 23, 2011
Messages
4,130
Location
Sydney, Australia
Programming Experience
10+
You should never have to post that much code. Part of the problem is that you have done a whole bunch of stuff and you don't have a clue what works and what doesn't. This is exactly why you need to break things down into smaller parts and tackle one part at a time. Do one thing and get it working, then do another thing. If something breaks, you know exactly where the issue must be because it must be in the part that you have changed since it was last working. The smaller your units of work, the smaller that area of change will be and the easier it is to track down the issue. Having to wade through all that code in the hope of finding something that doesn't work is just crazy and, while I can't speak for others, it is something that I won't be doing.

You should stop what you're doing and engage in a bit of planning and design. It can be hard when you're a beginner but it's something that you need to learn so no better time than right now. Break up your work into the smallest units you can and work on one at a time. Each unit you work on doesn't have to be related to the one you worked on previously either. You can work on two completely separate things and then merge them together with a third later. When you do it like that, you can come to us as soon as you encounter the first issue and you can show us the minimum amount of code required to demonstrate the issue. If that means creating a new test project to isolate that functionality then that's what you do. What you don't do is dump a huge wad of code on us where the vast majority is irrelevant. That's called software development and it's different to code-writing.
 
Top Bottom