Permutationen in C# eine Generische Lösung gesucht?
static void printArr(int[] a, int n)
    {
        for (int i = 0; i < n; i++)
            Console.Write(a[i] + " ");
        Console.WriteLine();
    }
 
    
    static void heapPermutation(int[] a, int size, int n)
    {
        
        if (size == 1)
            printArr(a, n);
 
        for (int i = 0; i < size; i++) {
            heapPermutation(a, size - 1, n);
 
            
            if (size % 2 == 1) {
                int temp = a[0];
                a[0] = a[size - 1];
                a[size - 1] = temp;
            }
 
            
            else {
                int temp = a[i];
                a[i] = a[size - 1];
                a[size - 1] = temp;
            }
        }
    }
 
   
    public static void Main()
    {
 
        int[] a = { 1, 2, 3 };
        heapPermutation(a, a.Length, a.Length);
    }

Ich habe den Heap Algorithmus in c# implementiert. Es klappt soweit alles wie es soll aber nun würde ich gerne eine generische Methode schreiben. Ich habe es versucht doch leider klappt es nicht. Meine Idee war die Methode heap Permutation einfach generisch zu gestalten indem ich folgendes mache

„class Bclass {
  public void anyMethod<U>(T parmA, U parmB) {
  // ...
  }“

Leider funktioniert das im Zusammenhang mit dem Array das dort übergeben wird überhaupt nicht. Ich weiß nicht warum... 

Computer, Schule, programmieren, C Sharp, Informatik
Wie kann ich eine Zeichenkette in einem String suchen und ersetzen?

Hallo zusammen,

ich möchte ein C-Programm schreiben, in der ein String durch scanf eingelesen wird.

In dem String ist eine Buchstabenkombination "ax", die durch "53" ersetzt werden soll. Die Kombination "ax" soll ersetzt werden, nicht aber "a" oder "x" oder "xa".

Ich habe da schon einmal etwas versucht. Jedoch lassen sich die Buchstaben ersetzen, aber willkürlich.

Ich bitte um Hilfe.

Hinweis: Ich darf keine C-Funktionen aus der Bibliothek string.h verwenden:

MfG

Julian Lindemeyer

char Einlesen[16];
char nachaxdurchsuchen[2] = "ax";
char durch53ersetzen[2] = "53";
int matrikelnummer = 742152;
char suchenundersetzen1;
char suchenundersetzen3;
char suchenundersetzen2;
char suchenundersetzen4;
int k, l;
  
printf("Bitte geben sie das Suchzeichen ein\n");
scanf("%s", nachaxdurchsuchen);

printf("Bitte geben sie das Ersatzzeichen ein\n");
scanf("%s", durch53ersetzen);

printf("Bitte geben sie den String ein, indem gesucht werden soll\n");
scanf("%s", Einlesen);

printf("%s\n", Einlesen);

suchenundersetzen1 = nachaxdurchsuchen[0];
suchenundersetzen2 = durch53ersetzen[0];
suchenundersetzen3 = nachaxdurchsuchen[1];
suchenundersetzen4 = durch53ersetzen[1];

int AnzahlderZeichenketteimString = 0;

while (Einlesen[AnzahlderZeichenketteimString] != '\0') {
  AnzahlderZeichenketteimString++;
}

int j, i;

for (i = 0; i < AnzahlderZeichenketteimString; i++) {
  if (Einlesen[i] == suchenundersetzen1) {
    Einlesen[i] = suchenundersetzen2;
  }

  for (j = 0; j < AnzahlderZeichenketteimString; j++) {
    if (Einlesen[j] == suchenundersetzen3) {
      Einlesen[j] = suchenundersetzen4;
    }
  }

  printf("%c%c", Einlesen[i], Einlesen[j]);
}
Computer, Informatik, C (Programmiersprache)
Java: Wieso bekomme ich diesen Fehler ("ArrayIndexOutOfBoundsException: Index 9 out of bounds for length 9")?

Bei meinem Code kommt nach der Eingabe eines Wortes immer folgender Fehler.

Das ist alles von der Konsole:

Bitte geben Sie ein Wort für das B-Sprachen Spiel ein: Hallo
5
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 9 out of bounds for length 9
at B_SprachenSpiel/Lektion_7.B_SprachenSpiel.Spiel(B_SprachenSpiel.java:42)
at B_SprachenSpiel/Lektion_7.B_SprachenSpiel.main(B_SprachenSpiel.java:14)

Danach sollte eigentlich noch das Wort (in dem Fall Hallo) ausgegeben werden, nur dass es durch die Änderung dann Haballobo heißt. Das soll das Programm machen. Doch ich verstehe nicht, wieso immer wieder dieser Fehler kommt.

Folgendes ist mein kompletter Code von diesem Programm:

package Lektion_7;

import java.lang.reflect.Array;
import java.util.Scanner;

public class B_SprachenSpiel {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.print("Bitte geben Sie ein Wort für das B-Sprachen Spiel ein: ");
    String B = sc.nextLine();
    Spiel(B);

    // System.out.println("Das umgewandelte Wort lautet: " + Spiel(B));
  }

  public static void Spiel(String Wort) {
    char[] x = new char [100];
    x = Wort.toCharArray();
    System.out.println(x.length);
    int y = x.length;
    int lang = x.length;

    for (int i = 0; i < y; i++) {
      if (x[i] == 'a' || x[i] == 'e' || x[i] == 'i' || x[i] == 'o' || x[i] == 'u') {
        lang += 2;
      }
    }

    System.out.println(lang);
    char[] neu = new char[lang];

    for (int i = 0; i <= neu.length; i++) {
      if (neu[i] == 'a' || neu[i] == 'e' || neu[i] == 'i' || neu[i] == 'o' || neu[i] == 'u') {
        neu[i] = (char) (x[i] + 'b' + (char) x[i]);
      }
    }

    String z = x.toString();
    System.out.println("                         Das umgewandelte Wort lautet: " + String.valueOf(neu));
    // for (int i = 0; i <= x.length; i++)
    //		{
    //			System.out.print(x[i]);
    //		}
  }
}
Computer, programmieren, Java, Array, Informatik
Ist es nicht unsinnig, dass es im Mathematik-Bachelor Übungen als Teamarbeiten gibt?

Vorbemerkung: in einem Forschungstrupp oder beim Promovieren/Habilitieren lohnt es sich durchweg, zu kooperieren.

Aber, wie sieht das innerhalb eines Bachelor-Studiums aus?

Gerade hier müssen die Grundzüge eingenständigen Denkens, Kritisierens und Informationsbeschaffen gelegt werden. Und daran darf nicht gespart werden, oder ausgeholfen.

Und das Problem: es wird gar nicht mal genannt, wie fatal die Folgen sind:

Dies sind einige Szenarien, die sich bei jeder Gruppenarbeit ereignen:

Fall 1: Alle Gruppenteilnehmer sind gleich gut vorbereitet.

Dann nimmt der cleverste wichtige Beweisschritte voraus, die bei selbständiger Bearbeitung den Lern- und Arbeitsgedächtnis-Fortschritt hätten erweitern können.

Weil die anderen nun Zusatzinformationen haben, die sie eigentlich nicht hätten, trainieren sie auch nicht drauf, ohne Zusatzinformationen weitere beweisrelevante Informationen zu beschaffen und unnötige zu ignorieren.

Was dem Ziel des Mathematikstudiums widerspricht.

Fall 2: mindestens einer der Gruppenteilnehmer ist unvorbereitet.

Dann gilt Fall 1 weiterhin, da mindestens ein cleveres Mitglied existieren muss (wenn nicht alle gleich clever wären, was dann bei zeitlichen Unterschieden im Lösen oder im simultanen Lösen wiederum keinen Mehrwert beim Lerneffekt ergibt).

Fall 3: alle sind unvorbereitet.

Dann müssten sie sich vorbereiten, nur um dann bei Fall 1 und 2 zu landen.

Und zu oft kam es dann zum Durchfallen, weil stets nur Übungsaufgaben im Team bearbeitet wurden - oft genug gesehen.

Sollte das gerade neueren Studierenden nicht vermittelt werden?

Leben, Lernen, Studium, Schule, Mathematik, Bildung, Gesellschaft, Gruppe, Informatik, Lehramt, Lehramtsstudium, Mathematiker, Mathematikstudium, Physik, Soziales, Erstsemester, Ausbildung und Studium, Beruf und Büro

Meistgelesene Beiträge zum Thema Informatik