c++ hjælp

Tags:    c++ datalogi

<< < 12 > >>
jeg har en opgave som går ud på at indtaste koefficienterne n og m og matricen R på c++. men den bliver ved med at sige at der er en fejl. jeg har gjort følgende;


#include<iostream.h>
#include<math.h>
#include<iomanip.h>
#include<stdlib.h>
#include<fstream.h>

#define Nmax 10
#define Max 10

double R[Max][Max],b[Nmax];
int n,m,i,j;

void IndtastMatrix(double R[Max][Max],int &n, int &m);
void UdskrivMatrix(double R[Max][Max],int n, int m);
void IndtastVektor(double b[Nmax],int n);
void UdskrivVektor(double b[Nmax],int n);

main()

{
cout<<"\n indtast matrix A her:";
IndtastMatrix(R,n,m);
cout<<"\n Her er den indtastede matrix A:";
UdskrivMatrix(R,n,m);
return 0;
}





nogen der kan hjælpe?



15 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 7 karma
Sorter efter stemmer Sorter efter dato
Så vidt jeg kan se har du kun lavet en prototype af metoderne i den kode du har vist. Implementeringen af metoderne, hvor sker den henne?

Så jeg vil skyde på det du mangler noget ligende

Fold kodeboks ind/udC++ kode 


Jeg kender ikke noget selv til matrix, men jeg tror det er implementeringen af metoder du har glemt. :)



Indlæg senest redigeret d. 24.05.2012 19:49 af Bruger #6559
Nu har jeg ikke så meget forstand på C++, har kun læst lidt på det. Men er det ikke nogenlunde følgende:

Fold kodeboks ind/udC++ kode 


Er ikke helt sikker.



Indlæg senest redigeret d. 24.05.2012 18:06 af Bruger #16025
Det virkede næsten men ikke helt :S



Hvilken fejl siger den at der er?



Til en start ville jeg skrive

Fold kodeboks ind/udC++ kode 


Men ved jo ikke hvad du vil bruge det til ;)



Jeg taster det her ind på c++:

#include<iostream.h>
#include<math.h>
#include<iomanip.h>
#include<stdlib.h>
#include<fstream.h>

#define Nmax 10
#define Max 10

double R[Max][Max],b[Nmax];
int n,m,i,j;

void IndtastMatrix(double R[Nmax][Nmax],int &n, int &m);
void UdskrivMatrix(double R[Nmax][Nmax],int n, int &m);
void IndtastVektor(double b[Nmax],int n);
void UdskrivVektor(double b[Nmax],int n);

main()
{

cout<<"\n indtast matrix R her:";
IndtastMatrix(R,n,m);
UdskrivMatrix(R,n,m);
cout<<"\n Her er den indtastede matrix R:";

return 0;
}


Og den starter med at sige at der ikke er fejl. Men når jeg ctrl+F5 så siger den:


error LNK2001: unresolved external symbol "void __cdecl UdskrivMatrix(double (* const)[10],int,int &)" (?UdskrivMatrix@@YAXQAY09NHAAH@Z)

error LNK2001: unresolved external symbol "void __cdecl IndtastMatrix(double (* const)[10],int &,int &)" (?IndtastMatrix@@YAXQAY09NAAH1@Z)
fatal error LNK1120: 2 unresolved externals
Error executing link.exe.

3 error(s), 0 warning(s)




Jeg er ret sikker på at Martin har fat i den lange ende her.



For at få en bedre forståelse for hvad du vil nå frem til, vil du så ikke forklare mig matematisk hvad skal være indput og hvad bør være output. F.eks. kunne det være du giver 1 og 2 til en metode og du får -1 ud. Så har jeg lidt at sætte i relation, da jeg ikke selv kender til matrix eller matricer.

Edit: Må i kun bruge de metoder, der er prototyper på eller er det nogen i har defineret?



Indlæg senest redigeret d. 25.05.2012 21:45 af Bruger #6559
Lige for at hjælpe dig gøre det mere overskueligt.
Du har gjort alle dine variable globale. Det betyder at du sådan set ikke behøves at have argumenter i dine prototyper eller implementering.

Må vi prøve at se din implementering af dine funktioner, ville hjælpe en del.

For problemet er om du har skrevet implementeringen i samme dokument eller seperater dokumenter.
For når din fejl siger:
Fold kodeboks ind/udKode 

så er der problemer med dine forbindelser fra dine prototyper til din implementering.

Ps. brug gerne "indsæt kodeboks" til dine indlæg, det gør din kode mere overskueligt og nemmere at henvise til en bestemt linje i din kode.



Er ikke helt med, men jeg fik ordnet fejlen :D Jeg kunne evt. ligge grundstrukturen ind så i kan se hvad det præcis går ud på?



<< < 12 > >>
t