Hirdetés

Keresés

Új hozzászólás Aktív témák

  • NSiS

    tag

    válasz WonderCSabo #3163 üzenetére

    De tanultam, csak egy pillanatra megzavart az hogy "balról szorzom", azóta persze rájöttem hogy ez csak annyit tesz, hogyha mondjuk van egy A meg egy B mátrixom azokat úgy írom fel hogy B*A.

    Na de a lényeg, h nem a mátrixok miatt nem tudom megoldani, hanem C beli hiányosságok vannak, ebben a félévben tanultam először programozást, ezelőtt szakközépben sem és nemis infó karos vagyok, úgyhogy várhatóan ezután sem lesz (a mintatanterv szerint legalábbis). MPLAB-ot használunk, PIC programozás lenne elvileg.

    A feladat pedig: "Készítsen függvényt, amely adott változótípuson végez műveletet, valamint a megfelelő változótípussal tér vissza." Az adatok típusa valós az én esetemben.
    Az A mátrixot szoroznám balról a B-vel. Printf-et nem szoktunk írni, van egy watch ablak a programban az jelzi az értékeket ha léptetem soronként.

    Az eddig elkészült programom, ami természetesen nem fut le (:D):

    #include <p24fj128ga010.h>

    float main(){
    float fMatrixA[2][3] = {{1.5,2.5,3.5},{1.2,2.2,3.2}};
    float fMatrixB[3][2] = {{4.5,4.2},{5.5,5.2,},{6.5,6.2}};
    float fMatrixBA[3][3];
    float i, j, k, r1=2, r2=3, c1=3, c2=2;
    if (c1 == r2){
    for (i=0; i<r1; i++){
    for (j=0; j<c2; j++){
    fMatrixBA[j]=0;
    for (k=0; k<r1;k++)
    {
    fMatrixBA(i)[j] += fMatrixA(i)[k]*fMatrixB[k][j];
    }
    }
    }
    }
    return 0;
    }

    És itt megállt a tudomány részemről... pl. azt írja hogy hogy "return type of 'main' is not 'int'" és ezen kívül van még hiba rendesen. De azt se értem, hogy a return-nak integer-nek kellene lennie minden esetben? Mert a feladatkiírás alapján valós értékűként kellene visszatérnie.

Új hozzászólás Aktív témák