Matrizen Subtraktion in C

R

RuhrBoy

Bin ein großer Neuling in C und soll direkt so eine harte Nuss knacken!

Ich soll mithilfe eines 2D-Array eine 3x3 Matrik subtrahieren.

1. Ich weiss nicht wie ich ein 2D-Array für eine 3x3 Matrik definieren soll bzw. eigentlich nicht viel.

Ich weiss zur Zeit nur, wie ich scanf und printf nutze. Da die Matrik variabel sein soll, wüsste ich damit noch was anzufangen. Aber da endet mein wissen schon.

Jemand visiertes der mir Helfen kann?
 
Was genau hast du vor und was genau ist eigentlich deine Frage?

C:
#include <stdlib.h>
#include <stdio.h>

int main(int argc, char* argv[])
{
    int matrix[3][3];

    scanf("%d", &matrix[0][0]);
    scanf("%d", &matrix[0][1]);

    printf("\n%d\n", matrix[0][0]);
    printf("\n%d\n", matrix[0][1]);

    return EXIT_SUCCESS;
}
 
Hi

Sind es immer 3x3 Werte?
Ich mach die Größe auch einmal variabel

Beispiel:

C++:
#include<stdio.h>

int main()
{
  int x,y,i,j,k;
  int ***a;

  //Matrixaufbau
  printf("Wieviele Zeilen/Spalten?\n");
  scanf("%d %d",&x,&y);
  a=(int ***)malloc(2*sizeof(int **));
  for(k=0;k<2;k++)
  {
    a[k]=(int **)malloc(y*sizeof(int *));
    for(i=0;i<y;i++)
      a[k][i]=(int *)malloc(x*sizeof(int));
  }

  //Werte?
  for(k=0;k<2;k++)
  {
    for(i=0;i<y;i++)
    {
      for(j=0;j<x;j++)
      {
        prinf("Wert f%cr Matrix %d,Zeile %d, Spalte %d eingeben: ",129U,k,i,j);
        scanf("%d",&(a[k][i][j]);
      }
    }
  }

  //Subtrahiert wieder ausgeben
  printf("\n\n\n");
  for(i=0;i<y;i++)
  {
    for(j=0;j<x;j++)
    {
        printf("Ergebnis f%cr Zeile %d,Spalte %d: %d\n",129U,i,j,a[0][i][j]-a[1][i][j]);
    }
  }

  //Aufräumen
  for(k=0;k<2;k++)
  {
    for(i=0;i<y;i++)
      free(a[k][i]);
    free(a[k]);
  }
  free(a);
  return 0;
}

Ist ungetestet, schreib halt bei Fragen/Problemen

Gruß
 
Zuletzt bearbeitet:
Zurück