Zum neuen Informatik-Forum >>
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Wo ist der Fehler

 
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Informatikerboard.de Foren-Übersicht -> C/C++
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Baerchen1



Anmeldungsdatum: 26.11.2005
Beiträge: 2

BeitragVerfasst am: 26. Nov 2005 09:48    Titel: Wo ist der Fehler Antworten mit Zitat

Hallo. ich soll in C ein Programm schreiben, welches aus N Orten die x und y Koordinaten einliest, und anschließend die Entfernung zwischen allen Ort in eine Matrix einliest( nur in die untere Dreiecksmatrix). Hab mal angefangen, aber ich versteh nicht, was alles falsch ist. wer kann mir BITTE helfen?? DANKE!!!! traurig

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define maxN 5

typedef struct ORT {
float x,y;
struct ORT *n;
}; ort;

struct ORT *LA=NULL;
struct ORT *n=NULL;

void EntfMatrix(ort *LA, int *N, float A[maxN][maxN])
{ //LA ->in anderen Listen "zeiger" genannt
int i,j;
ort *anfang=NULL;
printf("Anzahl Orte: "); scanf("%d",N); //if (*N>maxN) *N=maxN;
if(anfang == NULL) //falls Liste leer ->1.Element
{ if ((anfang=(struct ORT *) malloc(sizeof(struct ORT))) == NULL)
{ printf(stderr, "Kein Speicherplatz vorhanden fuer Anfang\n");
return;
}
printf("Ort %d - x-Wert:",i+1); scanf("%f",LA->x[0]);
printf(" y-Wert:",i+1); scanf("%f",LA->y[0]);
anfang->n=NULL;
}
else
{ //es gibt schon mind.1 Element in der Liste
LA=anfang;
{while (LA->n != NULL)
{printf("Ort %d - x-Wert:",i+1); scanf("%f",LA->x[i]);
printf(" y-Wert:",i+1); scanf("%f",LA->y[i]);
anfang->n=NULL;
}
while(LA->n != NULL)
for (i=1;i<*N;i++)
{for (j=0;j<i;j++)
{A[i][j]=sqrt( (pow((LA->x[i])-(LA->x[j])),2) +
(pow((LA->y[i])-(LA->y[j])),2) );
printf("%.2f",A[i][j]);
}
printf("\n");
}

LA=LA->n;
}
}

void main()
{ float A[maxN][maxN];
int *N;
clrscr();
EntfMatrix(&LA,&N,A);
getche();
}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Baerchen1



Anmeldungsdatum: 26.11.2005
Beiträge: 2

BeitragVerfasst am: 26. Nov 2005 14:28    Titel: überarbeitet Antworten mit Zitat

also ich hab's selber noch mal überarbeitet, es werden zwar keine Fehler mehr angezeigt, trotzdem läuft das Programm nicht richtig. Wer kann helfen? ist wirklich wichtig!!!!! Wink

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define maxN 5

typedef struct ORT {
float x,y;
struct ORT *n;
} ort;

struct ORT *n=NULL;
struct ORT *anfang=NULL;

void EntfMatrix(ort *LA, int *N, float A[maxN][maxN])
{ int i,j; float x,y;
struct ORT *anfang=NULL;
printf("Anzahl Orte: "); scanf("%d",N); //if (*N>maxN) *N=maxN;
for (i=0;i<maxN;i++)
{if(anfang == NULL)
{ anfang=(struct ORT *) malloc(sizeof(struct ORT));
printf("Ort %d - x-Wert:",i+1); scanf("%f",&x);
anfang->x=x;
printf(" y-Wert:",i+1); scanf("%f",&y);
anfang->y=y;
}
else
LA=anfang;
while (LA->n != NULL) LA=LA->n;
LA->n=(struct ORT*)malloc(sizeof(struct ORT));
LA=LA->n;
printf("Ort %d - x-Wert:",i+1); scanf("%f",&x);
LA->x;
printf(" y-Wert:",i+1); scanf("%f",&y);
LA->y;
}}

void main()
{ float A[maxN][maxN];
int N;
struct ORT *LA=NULL;
clrscr();
EntfMatrix(&LA,&N,A);
getche();
}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Lighthouse
Gast





BeitragVerfasst am: 29. Nov 2005 18:13    Titel: Antworten mit Zitat

wens noch aktuell ist schau ich mirs mal genauer an.
Nach oben
Beiträge der letzten Zeit anzeigen:   
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Informatikerboard.de Foren-Übersicht -> C/C++ Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum nicht herunterladen