Also ich lese ne karte mit höhenprofil ein die in ascii gespeichert ist ein..ich würde hier gerne F_BREIT UND F_LAENGE auf 2000 vergrössern das mit dem pointer zeiger zeugs ist schon zu spät weil ich schon alle funktionen geschrieben hab und auch getestet und will nich nochmal das alles machen! war ne heiden arbeit!
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <ctype.h>
#include <string.h>
#include <math.h>
/* Festlegung der einstellbaren Parameter */
#define F_BREITE 50
#define F_LAENGE 50
#define F_HOEHE 4
#define MAXSTR 15
/*globale Variable*/
FILE* Hoehe_z;
int hoehenint=1000;
int reichweite=1750;
...
paar funktionen
...
void main()
{
/**********************************************/
/* Variablendeklaration und - initialisierung */
/**********************************************/
/* Aufspannen des Felds */
int Feld[F_BREITE][F_LAENGE];
float Sicherheit[F_BREITE][F_LAENGE][F_HOEHE];
float sichtchance[F_BREITE][F_LAENGE][F_HOEHE];
/* Deklaration und Initialisierung der Variablen */
int Zeile = F_LAENGE , Spalte = F_BREITE, Hoehe=F_HOEHE;
int Wert = 0;
int Abbruch = 1;
int i=0;
int j=0;
int HVZ=0;
int HVS=0;
int n=0;
int m=0;
int z=0;
int s=0;
int Hoehenangabe=1;
char text[]="abcd";
char name[MAXSTR];
float r;
double Anzmaxpkt=0;
float maxr;
char head[]="file_title = ";
int rows=0,columns=0,h1,h2;
int h3,h4;
int ro;
int co;
float lemx,lomy,rimx,upmy;
int minh=10000,maxh;
float eingrad;
float rasterx,rastery;
eingrad=111142.57;
...
...
/* Initialisieren des flugfeldes */
for(Zeile=0; Zeile < ro; Zeile++)
{
/* Zaehlschleife fuer Zeilen */
for(Spalte=0; Spalte < co; Spalte++)
{
for(Hoehe=0; Hoehe < F_HOEHE; Hoehe++)
/* Zaehlschleife fuer Spalten */
Sicherheit[Spalte][Zeile][Hoehe]=0;
}
}
/*öffnen Hoehendatei*/
Hoehe_z = fopen (name,"r");
if ( Hoehe_z == NULL)
{
printf("\n Fehler beim Einlesen der Hoehendatei!");
printf(" Wird komplett auf 0 gesetzt!");
/* Zaehlschleife fuer Zeilen */
for(Zeile=0; Zeile < ro; Zeile++)
{
/* Zaehlschleife fuer Spalten */
for(Spalte=0; Spalte < co; Spalte++)
Feld[Spalte][Zeile]=3;
}
}
else
{
/* Einlesen Hoehendaten*/
/* Zaehlschleife fuer Spalten */
for(Zeile=ro-1; Zeile >=0 ; Zeile--)
{
/* Zaehlschleife fuer Zeilen */
for(Spalte=0; Spalte <co ; Spalte++)
{
fscanf (Hoehe_z, "%d%s" ,&Hoehenangabe, &text );
Feld[Spalte][Zeile]=Hoehenangabe;
if (Feld[Spalte][Zeile]>maxh)
{
maxh=Feld[Spalte][Zeile];
}
if (Feld[Spalte][Zeile]<minh)
{
minh=Feld[Spalte][Zeile];
}
}
}
}
fclose(Hoehe_z);