Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2009, 23:10   #1
SVG
Новичок
Джуниор
 
Регистрация: 27.05.2009
Сообщений: 2
По умолчанию c++. Работа с ошибкой

Написана программа на с++, работает: данные вводишь, ответы выдаёт, но просмотреть ничего не даёт - закрывается ссылаясь на ошибку, подскажите в чём проблема?

Код:
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<iostream.h>  




const int n=3; 
const int m=5; 

float fi(int k,float x)
{
	 if(k==0) return (sin(x));
	 if(k==1) return (cos(x));
	 if(k==2) return (3*x*x-1);
	 cout<<"Fi results";
}

void viewmatrix(float a[n][n],float b[n])
{
	int i,k;
	for(i=0;i<n;i++)
	{
	 	for(k=0;k<n;k++)
			printf("%5.2f",a[i][k]);
	 	printf("%5.2f\n",b[i]);
	}
	cout<<endl;
}

void koeficenti(float a[n][n], float b[n],float x[m], float y[m])
{
	 int k,l,i;
	 float sa,sb;
	 
	 for(k=0;k<n;k++)
	 {
	 	for(l=0;l<n;l++)
 	 	{
	 		 sa=0;
	 		 for(i=0;i<m;i++)
	 		 	 sa=sa+fi(k,x[i])*fi(l,x[i]);
	 		 a[k][l]=sa;
 	 	}
	 	sb=0;
	 	for(i=0;i<m;i++)
	 		  sb=sb+y[i]*fi(k,x[i]);
	 	b[k]=sb;
	 }
}


int bignum(float a[n][n],int i)
{
	int big=0, num=0,l;
	
	for(l=i;l<n;l++)
	{
		if(fabs(a[l][i])>big)
		{
			big=a[l][i];
			num=l;
		}
	}
	
	return num;
}


void perestanovka(float a[n][n],float b[n], int num,int i)
{
	int j;
	float temp;
	
	if(num!=i)
	{
		for(j=i;j<n;j++)
		{
			temp=a[i][j];
			a[i][j]=a[num][j];
			a[num][j]=temp;
		}
		
		temp=b[i];
		b[i]=b[num];
		b[num]=temp;
	}
}


void calckoefic(float a[n][n],int k, int i, float b[n])
{
	int j;
	float Q;
	
	Q=a[k][i]/a[i][i];
	a[k][i]=0;
	
	for(j=i+1;j<n;j++)
		a[k][j]=a[k][j]-Q*a[i][j];
	
	b[k]=b[k]-Q*b[i];
}


void obratniyxod(float a[n][n],float b[n],float c[n])
{
	int i,j;
	float sum;
	
	c[n]=b[n]/a[n][n];
	
	for (i=n-1;i>=0;i--)
	{
		sum=b[i];
		for (j=i+1;j<n;j++)
			sum=sum-a[i][j]*c[j];
		c[i]=sum/a[i][i];
	}	
}


void calcmatrix(float a[n][n],float b[n])
{
	int k,l,i,num;
	
	for(i=0;i<n-1;i++)
	{
		num=bignum(a,i);
		perestanovka(a,b,num,i);
		
		for(k=i+1;k<n;k++)
			calckoefic(a,k,i,b);
	 
	 viewmatrix(a,b);
	}
}


void results(float a[n][n],float b[n],float c[n],float x[m],float y[m])
{
	float di[m],apr,krapr=0,maxdi=0;
	int i;
	
	for(i=0;i<m;i++)
	{
		apr=c[0]+c[1]*x[i]+c[2]*x[i]*x[i];
		di[i]=y[i]-apr;
		if(fabs(di[i])>maxdi)
			maxdi=fabs(di[i]);
		krapr=krapr+di[i]*di[i];
		
		printf("%2i     %5.2f    %5.2f    %5.2f    %5.2f\n",i,x[i],y[i],apr,di[i]);
	}
	cout<<"Results:\n,n"<<krapr;
	cout<<"Results:\n,n"<<maxdi;
}


int main()
{
	float c[n],x[m],y[m],a[n][n],b[n],krapr[n];
 	int i,k;
	
	cout<<"koeficenti"<<endl;
	for(i=0;i<m;i++)
	{
		cout<<"x["<<i<<"]= ";
		cin>>x[i];
	}
		
	for(i=0;i<m;i++)
	{
		cout<<"y["<<i<<"]= ";
		cin>>y[i];
	}
	 
	koeficenti(a,b,x,y);
	
	cout<<"Matrix:\n,n";
	viewmatrix(a,b);
	
	cout<<"Results:\n,n";
	calcmatrix(a,b);
	obratniyxod(a,b,c);
	
	for(i=0;i<n;i++)
		cout<<"c["<<i<<"]="<<c[i]<<endl;
	
	results(a,b,c,x,y);
	
	cout<<"\n\n";
	return 0;
}
SVG вне форума Ответить с цитированием
Старый 27.05.2009, 23:38   #2
StudentPolitech
Форумчанин
 
Аватар для StudentPolitech
 
Регистрация: 21.11.2008
Сообщений: 400
По умолчанию

А задание какое вообще
Винда, KIS 2010, книжка по С/С++, остальное неважно........
StudentPolitech вне форума Ответить с цитированием
Старый 27.05.2009, 23:44   #3
SVG
Новичок
Джуниор
 
Регистрация: 27.05.2009
Сообщений: 2
По умолчанию

Цитата:
Сообщение от StudentPolitech Посмотреть сообщение
А задание какое вообще
аппроксимировать функции
SVG вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помощь с ошибкой Denisko Общие вопросы Delphi 3 29.04.2009 23:35
Помогите с ошибкой Bigtyoma Общие вопросы Delphi 1 24.12.2008 19:48
Символ с ошибкой KLOP Общие вопросы Delphi 2 19.12.2008 09:20
Помогите с ошибкой IO 32 JIK Общие вопросы Delphi 4 21.06.2008 18:17