Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

pomoc oko matrice

[es] :: C/C++ programiranje :: pomoc oko matrice

[ Pregleda: 2348 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

kiccra
Rakic Dragan
Kragujevac

Član broj: 37370
Poruke: 16
*.uis.kg.ac.yu.



Profil

icon pomoc oko matrice18.01.2006. u 14:47 - pre 221 meseci
Pokusao sam da potprogramu (ispod) posaljem dva parametra, a da mi on nesto izracuna i to vrati kao matricu 1x6 i da to odstampam, ali mi to nije poslo za rukom. Posto sam pocetnik dobro bi mi dosla mala pomoc.

Code:

#include <iostream.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>

float Transf(double , double , double *);

FILE * file_open(char name[], char access_mode[]);

int main()
{
    FILE *outF;
    outF=file_open("output.out","w");

    double E, ni, koef[6];
    double error;

    cout<<" E: ";
    cin>>E;
    cout<<"\n ni: ";
    cin>>ni;

    Transf(E, ni, &koef);

    if(!error)
    {
        fprintf(outF,"      -> input-output <-\n"); 
        fprintf(outF," Young's Modulus  :   %8.3e\n",E); 
        fprintf(outF," Poasson Ratio    :   %8.3e\n",ni);
        for(int i=0;i<6;i++)
        {
            fprintf(outF," D[",i,"]      :   %8.3e\n",koef[i]);
        }
    }
    else
        fprintf(outF," Greska!!!\n ni mora biti manje od 0.5!!!");
    return 0;
}


float Transf(double Elast, double Poiss, double *pKoef[6])
{
    short Value=0;
    if(Poiss>0.5)
        Value=1;
    else
    {
        for(int i=0;i<3;i++)
        {
            *pKoef[i]=Elast*(1-Poiss)/((1+Poiss)*(1-2*Poiss));
        }

        for(int j=3;j<6;j++)
        {
            *pKoef[j]=Elast*Poiss/((1+Poiss)*(1-2*Poiss));
        }
    }
    return Value;
}

FILE *file_open(char name[], char access_mode[])
{
    FILE *f;
    f=fopen(name, access_mode);
    if(f==NULL)
    {
        perror("Ne mogu da otvorim fajl!!!");
        exit(1);
    }
    return f;
}



1+1=2
 
Odgovor na temu

vladab
Vladimir Bašanović
Beograd

Član broj: 9512
Poruke: 498
212.200.116.*



Profil

icon Re: pomoc oko matrice18.01.2006. u 15:09 - pre 221 meseci
Citat:
kiccra:
float Transf(double Elast, double Poiss, double *pKoef[6])
[/code]

Pokusaj da prosledis matricu kao double **pKoef
Osim toga, nemoj da koristis i iostream i stdio. Odaberi jedno.
 
Odgovor na temu

idb
Ivan Bulic
Beograd

Član broj: 4436
Poruke: 402



Profil

icon Re: pomoc oko matrice18.01.2006. u 15:28 - pre 221 meseci
Dodaj broj clanova niza:
Code:
// Dev-Cpp 4.9.9.2 with Mingw/GCC 3.4.2
#include <iostream>
using namespace std;

float Transf(double , double , int size, double *);

int main(int argc, char *argv[]){
    double pKoef[] = {0,1,2,3,4,5,6};
    cout<<"  Pre poziva: ";
    for (int i=0;i<7;i++) cout << pKoef[i]<<", ";
    Transf(0,0, 7, pKoef);
    cout<<"\nPosle poziva: ";
    for (int i=0;i<7;i++) cout << pKoef[i]<<", ";
    cout<<"\n";
    system("PAUSE");
    return EXIT_SUCCESS;
}

float Transf(double Elast, double Poiss, int size, double *pKoef){
    for (int i=0;i<size;i++){
        // Elast...
        // Poiss...
        pKoef[i] *= 2.0;
    }
    return 0;
}

ili koristi klasu vector pa ne moras prenositi broj clanova niaza...
 
Odgovor na temu

[es] :: C/C++ programiranje :: pomoc oko matrice

[ Pregleda: 2348 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.