Unsymetrisches Array

Fernaless

Schon lange hier
Hallo,

ich habe hier ein Programm in Java-Code, den ich in irgendeine Programmiersprache "umschreiben" soll. Da ich aber keine andere Programmiersprache kann, bitte ich um Hilfe.

PHP:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package array;
import java.util.*;
/**
 *
 * @author Garryphoenix (Ines Becker), Fernaless (Maximilian Hoegner)
 */
public class Array {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
       
        
      Scanner console= new Scanner(System.in);
      System.out.println("Bitte geben sie die anzahl der Schueler ein: ");
      int anzahlSchueler=console.nextInt();
      float[][] d2array=new float[anzahlSchueler][];
      
      for(int i=0; i<d2array.length;i++){
          System.out.print("Wieviele Noten hat der Schueler "+(i+1)+" ");
          int anzahlNoten=console.nextInt();
          d2array[i]=new float[anzahlNoten];
          for(int j=0; j<d2array[i].length;j++){
              System.out.println("Gebe die Note "+(j+1)+" ein:");
              d2array[i][j]=console.nextInt();
          }
      }
      
       for(int i=0; i<d2array.length;i++){
          System.out.print("Die Noten fuer Schueler "+(i+1)+" sind");
          for(int j=0; j<d2array[i].length;j++){
          System.out.println(d2array[i][j]);
      
    }
}
    }
}

Vielen Dank.
 
Hi,

suchst du jetzt Tipps, oder suchst du eine Komplettlösung? ;)
Hast du schon eine Idee in welche Sprache du das Programm umschreiben willst? Wenn ich den Threadtitel lese, gehe ich richtig in der Annahme, dass es unbedingt asymmetrische Arrays sein sollen, auch wenn sich ein anderer Datentyp besser eignen würde?
 
Verrätst du auch noch, in welche Sprache das übersetzt werden soll? :D


Wenn das egal ist, schau dir die Grundlagen zu C# an, mit ein paar Ausnahmen kannst du das fast komplett übernehmen :D

Edit:
Das gleiche gilt für PHP, auch das ist dem sehr ähnlich
 
Es ist egal in welcher. Es muss allerdings umbedingt ein asymetrisches Array sein. Somit entfällt schonmal VB.NET.
 
Na das musste C# ja auch unterstützen.

Wie gesagt, bis auf ein paar Ausnahmen kannst du fast alles 1 zu 1 übernehmen ^^
 
Symetrisches Array: Dort sind sämtliche möglichen Einträge im Array immer gleich groß. (Jeder Schüler hab 5 Noten).

Asymetrisches/Unsymetrisches Array: Die Anzahl der möglichen Einträge sind Variabel. (Schüler A hab 4 Noten, Schüler B 7 Noten), nur bei mehrdimensionalen Arrays möglich.
 
So, ich hab das mal schnell umgeschrieben in C#.
Bei Fragen einfach stellen, ich versuch dir das dann zu erklären.
Ich weiss nicht für wen du das brauchst, aber du solltest bedenken, dass du programmieren nur lernen kannst in dem du dich praktisch damit beschäftigst. ;)

PHP:
using System;
using System.Text;

namespace Array
{
    class Program
    {
        static void Main(string[] args)
        {

            Console.WriteLine("Bitte geben sie die anzahl der Schueler ein: ");
            int anzahlSchueler = Convert.ToInt32(Console.ReadLine());
            float[][] d2array = new float[anzahlSchueler][];

            for (int i = 0; i < d2array.Length; i++)
            {
                Console.WriteLine("Wieviele Noten hat der Schueler " + (i + 1) + " ");
                int anzahlNoten = Convert.ToInt32(Console.ReadLine());
                d2array[i] = new float[anzahlNoten];
                for (int j = 0; j < d2array[i].Length; j++)
                {
                    Console.WriteLine("Gebe die Note " + (j + 1) + " ein:");
                    d2array[i][j] = Convert.ToInt64(Console.ReadLine());
                }
            }

            for (int i = 0; i < d2array.Length; i++)
            {

                Console.Write("\n Die Noten fuer Schueler " + (i + 1) + " sind");

                for (int j = 0; j < d2array[i].Length; j++)
                    Console.Write("|" + d2array[i][j] + "|");

            }

            Console.ReadKey();

        }
    }
}
 
Ja, ich kann keine andere Programmiersprache. :D

Und etwas ist falsch Programmiert bei dir: Am Schluss sollen nicht nochmals die Noten aufgezählt werden, sonderen der Notendurchschnitt. ;)
 
In deinem originalen Programm werden aber auch nur die Noten aufgezählt, und nicht der Notendurchschnitt ;)
Aber da du ja nur Tipps wolltest, das schaffst du sicher noch einzubauen ;)
 
Und etwas ist falsch Programmiert bei dir: Am Schluss sollen nicht nochmals die Noten aufgezählt werden, sonderen der Notendurchschnitt. ;)

Naja, bisher wurde von dir nirgends was von einem Notendurchschnitt erwähnt :cool:
Ebenfalls passt dein Quellcode überhaupt nicht zu dieser Anforderung.

Wie sl0rp aber schon schreibt, kannst dich ja mal dran versuchen. Falls es garnicht geht oder du Hilfe brauchst, kannst ja hier nochmal Meldung machen. Ok?
 
Symetrisches Array: Dort sind sämtliche möglichen Einträge im Array immer gleich groß. (Jeder Schüler hab 5 Noten).

Asymetrisches/Unsymetrisches Array: Die Anzahl der möglichen Einträge sind Variabel. (Schüler A hab 4 Noten, Schüler B 7 Noten), nur bei mehrdimensionalen Arrays möglich.

Wie gesagt: Kannst du zum größten Teil übernehmen :D
Du kannst auch ein symetrisches Array definieren, aber das sähe dann anders aus.
 
Symetrisches Array: Dort sind sämtliche möglichen Einträge im Array immer gleich groß. (Jeder Schüler hab 5 Noten).

Asymetrisches/Unsymetrisches Array: Die Anzahl der möglichen Einträge sind Variabel. (Schüler A hab 4 Noten, Schüler B 7 Noten), nur bei mehrdimensionalen Arrays möglich.

Wie gesagt: Kannst du zum größten Teil übernehmen :D
Du kannst auch ein symetrisches Array definieren, aber das sähe dann anders aus.



verborgener Text:
PHP:
using System;
using System.Text;

namespace Array
{
    class Program
    {
        static void Main(string[] args)
        {

            Console.WriteLine("Bitte geben sie die anzahl der Schueler ein: ");
            int anzahlSchueler = Convert.ToInt32(Console.ReadLine());
            float[][] d2array = new float[anzahlSchueler][];

            for (int i = 0; i < d2array.Length; i++)
            {
                Console.WriteLine("Wieviele Noten hat der Schueler " + (i + 1) + " ");
                int anzahlNoten = Convert.ToInt32(Console.ReadLine());
                d2array[i] = new float[anzahlNoten];
                for (int j = 0; j < d2array[i].Length; j++)
                {
                    Console.WriteLine("Gebe die Note " + (j + 1) + " ein:");
                    d2array[i][j] = Convert.ToInt64(Console.ReadLine());
                }
            }

            for (int i = 0; i < d2array.Length; i++)
            {

                Console.Write("\nDie Noten fuer Schueler " + (i + 1) + " sind");
                float MarkSum = 0;
                for (int j = 0; j < d2array[i].Length; j++)
                {
                    MarkSum += d2array[i][j];
                    Console.Write("|  " + d2array[i][j] + "|");
                }
                Console.Write("| Notendurchschnitt: " + MarkSum.ToString());
                MarkSum = 0;
            }
            Console.ReadKey();
        }
    }
}


Getestet hab ich es aber nicht, da ich gerade noch in der Schuel sitze und (noch) keine ENtwicklungsumgebung für C# hier habe, ich ich arbeite dran ^^
 
Kann sein, dass die C#-Entwickler ordentlich bei Java geklaut haben?
Den C#-Code versteh' sogar ich, obwohl ich nur Java kann :D
 
Guck dir C/C++ oder PHP an, sowas wie Schleifen ist da immer gleich, was willst du da klauen? :D
Ist halt alles eine ähnliche Syntax, wenn dir das nicht passt, hast du Pech gehabt :p


Abgesehen davon ist das grundlegendes C#, wenn du tiefer in die Materie gehst, findest du auch eine ganze Reihe Dinge, die Java ziemlich sicher nicht hat. (hast mich ja eben noch über mein LINQ-Projekt gefragt :p)


Und als drittes ist C# ganz bewusst so entwickelt worden, dass es Java ähnelt. Nagut, nicht ganz, aber es soll bewusst Programmierparadigmen Java, C++, Haskell, C sowie Delphi übernehmen. Logisch dass die sich also ähneln :p





So genug, jetzt antworte auf meine Nachricht :D
 
Das stimmt und das ist auch gut so, weil ich finde diese Syntax sehr übersichtlich. Sowas wie VisualBasic mag ich gar nicht -.-
 
Oben