2016-04-27 4 views
0

Dies ist der Code, den ich bisher habe. Ich brauche Hilfe bei der Organisation.Brauchen Sie Hilfe Organisation eines 2D-Array in Wochen und Tagen mit Summe und Durchschnitte

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace Lab_A 
{ 
class Activity2DArrayA 
{ 
    static void Main(string[] args) 
    { 
     // initialize 2-d array to store steps & dates 
     // this array contains 4 rows (weeks) 
     // each row contains 7 columns (days) 
     int[,] steps = { 
      { 4835, 24794, 13827, 10470, 10210, 10310, 14868 }, 
      { 11384, 16781, 8090, 8565, 10666, 15162, 13828 }, 
      { 14246, 8416, 19782, 20617, 7700, 21225, 34826 }, 
      { 22881, 17980, 26924, 18568, 19299, 22164, 21992 }, 
     }; 
     int sum = 0; 

     // loop thru array using nested for loop 
     // the outer loop controls the rows 
     // the inner loop controls the columns 
     for (int row = 0; row < steps.GetLength(0); row++) 
     { 
      //Console.WriteLine(); 
      Console.Write(" week " + (row + 1) +" "); 


      for (int col = 0; col < steps.GetLength(1); col++) 
      { 
       sum += steps[row, col]; 


       double average = sum/28; 
       Console.WriteLine("average: {0}", average); 
       Console.WriteLine("total: {0}", sum); 

I 1-4 erhalten Woche kann für die Zeilen zu erscheinen, aber ich muss die Säule mit der Gesamt und mittelt mit dem Hinzufügen von Tagen der Woche helfen

+1

Vielleicht 'Doppel mittel = sum/28,0;' – dotctor

+0

* Was bedeuten die Summen und Mittelwerte? Ihr Codebeispiel ist unvollständig und es ist völlig unklar, was Sie erreichen möchten. –

+0

also schreibe eine Zeile mit der Aufschrift "Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag, Sonntag" oder was immer du brauchst .. zeige den relevanten Array-Wert darunter ... – BugFinder

Antwort

0

Für den täglichen Durchschnitt können Sie etwas tun, wie dies:

//declare outside of loops 
var dayStepAverages 
    = new Dictionary<DayOfWeek, int>() 
    { 
     //this sort of initialization assumes you're using C# 6.0 
     [DayOfWeek.Monday] = 0, 
     [DayOfWeek.Tuesday] = 0, 
     [DayOfWeek.Wednesday] = 0, 
     [DayOfWeek.Thursday] = 0, 
     [DayOfWeek.Friday] = 0, 
     [DayOfWeek.Saturday] = 0, 
     [DayOfWeek.Sunday] = 0 
    }; 

//in inner loop 
dayStepAverages[(DayOfWeek)col] += steps[row,col]; 

Für die wöchentliche, tun Sie etwas wie folgt aus:

for (int row = 0; row < steps.GetLength(0); row++) 
{ 
    //inside of first loop 
    var weeklyTotal = 0; 
    for (int col = 0; col < steps.GetLength(1); col++) 
    { 
     //inner loop 
     weeklyTotal += steps[row, col]; 
    } 
    var averageForWeek = weeklyTotal/7; 
    //store averageForWeek in a list or something. 
} 
+0

danke krank versuche das, und sorry, wenn ich nicht klar war über die Organisation, ich brauche es so aussehen –

+0

Ich versuche, ein Bild von dem, worüber ich rede, aber es ist im Grunde eine Tabelle mit der Woche 1-4 auf der linken Seite und die Schritte in den Tagen der Woche an der Spitze organisiert –

+0

Sobald Sie die Nummern haben, können Sie sie in jede Art von UI/Ausgabe, die Sie möchten, setzen, aber das ist eine andere Frage als das Summieren der Werte. – Colin

Verwandte Themen