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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.10.2009, 20:17   #1
Laplas
Пользователь
 
Регистрация: 02.10.2009
Сообщений: 25
Вопрос метод прогонки решения линейных уравнений

привет всем. я новенький) уважаемые, посмотрите прогу, она коректная??? и вообще она правильные вещи считает??

Код:
#include<stdafx.h>
#include<stdio.h>
#include<conio.h>
#include<math.h>
#define n 7

int main(int argc, char* argv[])
{
	double a[n]={0,1,2,3,2,1,1},b[n]={2,3,5,7,5,3,2},c[n]={1,1,2,3,2,1,0},d[n]={4,10,27,46,27,10,4};
	double A[n],B[n],e,x[n],D;
	int i,k=0;
	for (i=0;i<=n-1;i++)
	
		printf("a[%d]=%2.2f  ",i+1,a[i]);

	printf("\n\n");
	for (i=0;i<=n-1;i++)
	
		printf("b[%d]=%2.2f  ",i+1,b[i]);
	
	printf("\n\n");
	for (i=0;i<=n-1;i++)
	
		printf("c[%d]=%2.2f  ",i+1,c[i]);

	printf("\n\n");
	
	for (i=0;i<=n-1;i++)
	
		printf("d[%d]=%2.1f  ",i+1,d[i]);
	
	printf("\n\PROVERKA DIAGONAL'NUX ELEMENTOV: ");
	for(i=0;i<=n-1;i++)
	{
		if(fabs(b[i])<(fabs(a[i])+fabs(c[i])))
			k++;
			
	}
	if(k==0)
			printf(" VUPOLNENO \n");
		else
			printf(" NE VIPOLNENO!!!!\n");
	

	A[0]=-c[0]/b[0];
	B[0]=d[0]/b[0];
	printf("\nA[1]=%1.3f  ",A[0]);
	printf("\nB[1]=%1.3f\n  ",B[0]);
	for(i=1;i<n-1;i++)
	{	
		e=a[i]*A[i-1]+b[i];
		A[i]=-c[i]/e;
		B[i]=(d[i]-a[i]*B[i-1])/e;
		printf("\nA[%d]=%1.3f  ",i+1,A[i]);
		printf("\nB[%d]=%1.3f\n  ",i+1,B[i]);

	}
	x[n-1]=(d[n-1]-a[n-1]*B[n-2])/(b[n-1]+a[n-1]*A[n-2]);
    for(i=n-2;i>=0;i--)
	{
		x[i]=x[i+1]*A[i]+B[i];
    }
	printf("\n\n REWENIE SISTEMU:\n\n");
    for(i=0;i<=n-1;i++)
       printf("x[%d]=%2.2f  ",i+1,x[i]);
	
	getch();
	return 0;
}

Последний раз редактировалось Sazary; 03.10.2009 в 22:28.
Laplas вне форума Ответить с цитированием
Старый 02.10.2009, 20:25   #2
ISergeyN
Maniac
Форумчанин
 
Аватар для ISergeyN
 
Регистрация: 03.01.2009
Сообщений: 450
По умолчанию

Цитата:
вообще она правильные вещи считает
а проверить нельзя?
Стандартные библиотеки разработаны с учетом многолетнего опыта лучших программистов и они не больны "детскими болезнями крутизны в программизме"....
ISergeyN вне форума Ответить с цитированием
Старый 02.10.2009, 20:34   #3
Laplas
Пользователь
 
Регистрация: 02.10.2009
Сообщений: 25
По умолчанию

ну она впринципе работает, но я же не знаю правильные ли она ответы выдает..
Laplas вне форума Ответить с цитированием
Старый 02.10.2009, 22:15   #4
MAKEDON
The First Person!
Форумчанин
 
Аватар для MAKEDON
 
Регистрация: 07.08.2007
Сообщений: 228
По умолчанию

Частный случай реши на листке, а потом проверь его программой. Или при помощи Debug просмотри по шагу что происходит. Там и поймешь: верно/неверно.
Программа обычно делает то что вы ей сказали сделать, а не то что бы вы хотели, чтобы она сделала.
MAKEDON вне форума Ответить с цитированием
Старый 03.10.2009, 12:13   #5
Laplas
Пользователь
 
Регистрация: 02.10.2009
Сообщений: 25
По умолчанию

ок..благодарю)))
Laplas вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Метод наименьших квадратов. Система линейных уравнений. Jarik Microsoft Office Excel 1 18.08.2009 12:53
Матричный метод решения системы линейных уровнений на С++ kykysya Помощь студентам 2 20.11.2008 21:09
паскаль система линейных уравнений student77rus Помощь студентам 1 19.11.2008 21:48