Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Ένα πολύ βιαστικό προγραμματάκι... (χωρίς ιδιαίτερο έλεγχο)

#include <stdio.h>
#include <stdlib.h>
#define JMAX 6
#define IMAX 6

static float T[IMAX][JMAX];

void printT()
{
	int i,j;
	
	for (i=0;i<IMAX;i++)
	{
		for(j=0;j<JMAX;j++)
			printf("%5.2f ",T[i][j]);
		printf("\n");
	}

}

float f(int i, int j)
{
	float s=2.;
	float p=0.5;
	float t=1.;
	
	if(i==0 || j==0) 
		return T[i][j];	
		
	if (j==JMAX-1)
	{
		f(i,j-1);
		return T[i][j];
	}
	
	T[i][j] = f(i-1,j) + 2*(t/(2*s*s))*f(i-1,j)*p*(f(i-1,j+1)+f(i-1,j-1)-2*f(i-1,j));
	f(i,j-1);
	
	return T[i][j];
}

int main()
{
  int i,j;
  
  for(i=0;i<IMAX;i++)
  	for(j=0;j<JMAX;j++)
  		T[i][j]=0.;
  	
  	T[0][1]=1.2;
  	T[0][2]=2.7;
  	T[0][3]=3.5;
  	T[0][4]=4.8;
  	
  	printf("Initail Array!\n");
	printT();
	f(IMAX-1,JMAX-1);
	
	printf("\n\nFinaly array!\n");
	printT();

  	return 0;
}


edit: Οι τιμές για s,p,t είναι τυχαίες και με μία μόνο κλήση της f γεμίζει ο πίνακας...

  • Like 1

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...