Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Fehler beim ausführen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
27.04.2005, 12:56 Uhr
~geckoo
Gast


hy,
ich muss ein programm scheiben, was die MatrixPotenz k von A[N][N] rekursiv berechnet und in C[N][N] schreibt. Also mein UnterProgramm sieht wie folgt aus:

C++:
include <iostream>
using namespace std;

.
.
.


void mat_pot(long A[N][N], int k, long C[N][N])
{
  if (k < 2) C=A;
  else
  {
    long S[N][N]; long T[N][N];  //N ist weiter oben als 4 deklariert
    if (k % 2 == 0)
    {
     mat_pot(A, k/2, S);
     mat_mat_prod(S,S,C);
    }
    else
    {
     mat_pot(A,k/2,S);
     mat_mat_prod(S,S,T);
     mat_mat_prod(T,A,C);
    }
  }



wenn ich das Programm jetzt kompiliere, und mein Unterprogramm aufrufe bekomme ich ganz falsche Werte im Array(Matrix) heraus. Das komischste ist daß wenn ich ein k mitsende das < 2 ist, gibt er mir als C trotzdem jedes mal die 2er potenz der Matrix A heraus. Kann mir bitte jemand helfen?
danke
mfg
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
27.04.2005, 13:30 Uhr
Tommix



Hallo,
ich überschaue es zwar jetzt nicht ganz aber mit C=A kopierst Du nicht das Array. Das mußt Du schon mit Schleifen Element für Element machen (oder mit memcpy oder so).

Gruß, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
27.04.2005, 13:33 Uhr
ao

(Operator)



C++:
if (k<2) C=A;


Arrays können nicht mit einer Zuweisung kopiert werden, du musst jedes einzelne Element kopieren.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: