Да посидев 2 вечера заработала программка
Только одни ешо надо . В задании стоит чтоби программа видавала масиви друг возле друга в конзе программи а на друг под другом .
Как зделат если масиви имеют разние демензиони ??
Да может што то можно лутше зделать ?
C
// matrix.cpp : Definiert den Einstiegspunkt fьr die Konsolenanwendung.
//
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
void main()
{
int mat_a[100][100]={0}, mat_b[100][100]={0}, mat_c[100][100]={0};
int m,n,a,b,c,d,i,j,zahl,x,p;
zahl=0;
eingabe:
// Matrix A //
printf ("\n\n Dimension der Matrix A m x n ");
printf ("\n Anzahl der Reihen m ");
scanf ("%d",&m);
printf ("\n Anzahl der Spalten n ");
scanf ("%d",&n);
//Matrix B//
printf ("\n\n Dimension der Matrix B m x n ");
printf ("\n Anzahl der Reihen a ");
scanf ("%d",&a);
printf ("\n Anzahl der Spalten b ");
scanf ("%d",&b);
if (m!=b)
{
printf ("\n\n Matrizen passen nicht zueinander ! \n\n Nochmal !!!!!");
goto eingabe;
}
printf ( "\n Matrix A");
for(i=1;i<=m;i++)
{
printf(" \n\n Reihe %d ",i);
for(j=1;j<=n;j++)
{
printf ("\n Zahl %d ",j);
scanf("%d",&mat_a[i][j]);
}
}
printf ("\n\ Matrix A") ;
for(i=1;i<=n;i++)
{
printf ("\n R %d ",i);
for (j=1;j<=b;j++)
{
printf (" %d ", mat_a[i][j]);
}
}
// Matrix B//
printf ( "\n Matrix B");
for(i=1;i<=a;i++)
{
printf(" \n\n Reihe %d ",i);
for(j=1;j<=b;j++)
{
printf ("\n Zahl %d ",j);
scanf("%d",&mat_b[i][j]);
}
}
//Multiplikation//
for(i=1;i<=a;i++)
{
for (j=1;j<=b;j++)
{
x=0;
for(p=1;p<=b;p++)
{
zahl=mat_a[j][p]*mat_b[p][j];
x=x+zahl;
mat_c[i][j]=x;
}
}
}
printf ("\n\ Matrix A") ;
for(i=1;i<=n;i++)
{
printf ("\n R %d ",i);
for (j=1;j<=b;j++)
{
printf (" %d ", mat_a[i][j]);
}
}
printf ("\n\ Matrix B") ;
for(i=1;i<=a;i++)
{
printf ("\n R %d ",i);
for (j=1;j<=b;j++)
{
printf (" %d ", mat_b[i][j]);
}
}
//Ausgabe Matrix C //
printf ("\n\n Matrix C") ;
for(i=1;i<=n;i++)
{
printf ("\n R %d ",i);
for (j=1;j<=b;j++)
{
printf (" %d", mat_c[i][j]);
}
}
printf ("\n\n");
}
Показать весь код