سئوال زیر رو کسی میتونه حل کنه؟ به شدت به جوابش نیاز دارم.
برنامه ای بنویسید که یک دستگاه چندمعادله ای مرتبه n را بگیرد و در خروجی مجهولات چاپ کند.
a1x1+b1x2+c1x3=d1
a2x1+b2x2+c2x3=d2
a3x1+b3x2+c3x3=d3
سئوال زیر رو کسی میتونه حل کنه؟ به شدت به جوابش نیاز دارم.
برنامه ای بنویسید که یک دستگاه چندمعادله ای مرتبه n را بگیرد و در خروجی مجهولات چاپ کند.
a1x1+b1x2+c1x3=d1
a2x1+b2x2+c2x3=d2
a3x1+b3x2+c3x3=d3
ببخشید دوست عزیز که نمی تونم فعلا کمکتون کنم ولی حتما دنبال جوابش براتون می گردم![]()
(( جهان امروز از نداشتن دارویی به نام پرهیز و اخلاق رنج
می برد . )) ماری کوری
up
.................
یعنی برای رضای خدا وبرای کمک به این دختر نیازمند کسی در این انجمن با 220 هزار عضو نبود که در حل این سئوال به من کمک کنه؟ حتما باید تاپیکی راجب دختر وپسروجوک و تفریح باشه؟
ویرایش توسط BaAaHaR : 1st May 2013 در ساعت 07:56 PM
سلام به روی ماهت عزیزم
عذر میخوام که سلام بهترین کلام رو فراموش کردم
تو این سایت دوستان عزیز و متخصص زیادی هست گلم
همگی هم خوب و با حوصله به سوالات جوابگو هستن.. تنها کمی صبر لازمه خانومم
باید توجه داشته باشی که دوستانی که تخصص خاصی تو این زمینه ها دارند درگیر کار و روزمرگی های خودشونم هستن گلم
پس اون دل کوچیکتو یه کم صبوری کنه مطئنم جواب این مسئله رو هم هر چه زودتر میگیری
آرزوی موفقیت برات میکنم و اینکه انشاالله هر چه زودتر یکی از عزیزان پاسخ سوالتو بده![]()
ویرایش توسط Dorna dordone : 2nd May 2013 در ساعت 12:43 PM
سلام دوست خوبم ،
ببینید الان خیلی بد موقعی ه ! امتحانات که جلو افتاده !کلاس ها ی جبرانی گذاشته میشه و میانترم ها و پروژه ها هم که دیگه .....!!
اینه که من به شخصه وقت دست به کد شدن ندارم ! یا خودتون باید بزنید ( که کار سختی هم نیست ، فقط مبانی ریاضیاتش رو باید بدونید) و یا سرچ کنید ( کد آماده که پره !).
من فقط یه گوگل سرچ کردم براتون این اومد( صحت و سقمش رو نمیدونم!) :
به هر حال باید خودتون هم تلاش کنید . با یه کم حوصله و تلاش می تونید خودتون به جواب برسید ( بدون نیاز به کمک دیگران ) .کد PHP:
* Program to solve a system of linear equations with 'n' variables *//* This algorithm makes use of the Gauss-Jordan method of solving simultaneous linear equations *//* For any clarifications please mail me at vaivaswatha@puttu.net */#include <stdio.h>#define MAX 5main(){ int order, matrix[MAX][MAX+1], test = 1; void exit(); do { printf("Maximum of %d variables. How many variables? ", MAX); scanf("%d", &order); } while (order > MAX); printf("\na11(x1) + a12(x2) + ..... + a1n(xn) = d1\n\n"); printf("Enter the co-efficients one by one....\n"); input (matrix, order); test = verify_validity (matrix, order); /* to ensure non-zero co-efficents for variables */ if (test == 0) { printf("This program supports only non-zero co-efficients for variables...\n"); exit(0); } make_lower_zero (matrix, order); output2 (matrix, order); rotate_180 (matrix, order); output2 (matrix, order); make_lower_zero (matrix, order); output2 (matrix, order); rotate_180 (matrix, order); output2 (matrix, order); output_result (matrix, order);}int input (matrix, order)int matrix[MAX][MAX+1], order;{ int i, j; for (i = 0; i < order; i++) for (j = 0; j < (order + 1); j++) scanf ("%d", &matrix[i][j]); return 0;}int output_result (matrix, order)int matrix[MAX][MAX+1], order;{ int i; float answers[MAX]; void exit(); for (i = 0; i < order; i++) if (matrix[i][i] != 0) answers[i] = ((float) matrix[i][order] / (matrix[i][i])); else { printf("No unique solutions....\n"); exit (0); } for (i = 0; i < order; i++) printf("Variable #%2d: %f\n", i+1, answers[i]); return 0;}int make_lower_zero (matrix, order)int matrix[MAX][MAX+1], order;{ int home, zero, lcm; for (home = 0; home < order-1; home++) for (zero = home + 1; zero < order; zero++) { int factor_home, factor_zero; lcm = find_lcm (matrix[home][home], matrix[zero][home]); factor_home = mod(lcm)/mod(matrix[home][home]); factor_zero = lcm/mod(matrix[zero][home]); multiply_by (matrix[home], factor_home, order); multiply_by (matrix[zero], factor_zero, order); subtract_home_row (matrix[zero], matrix[home], order); divide_by (matrix[home], factor_home, order); } return 0;} int multiply_by (matrix, a, order)int matrix[MAX], a, order;{ int i; for (i = 0; i < order+1; i++) /* i+1 is used to include the constant term d */ matrix[i] = (matrix[i] * a); return 0;}int divide_by (matrix, a, order)int matrix[MAX], a, order;{ int i; for (i = 0; i < order+1; i++) /* i+1 is used to include the constant term d */ matrix[i] = (matrix[i] / a); return 0;}int subtract_home_row (array2, array1, order)int array2[], array1[], order;{ int i; for (i = 0; i < order+1; i++) /* i+1 is used to include the constant term d */ array2[i] = array2[i] - array1[i]; return 0;}int mod (a)int a;{ if (a < 0) return (-1)*a; else return a;}int find_lcm (a, b)int a, b;{ int temp, test = 1; if (a < 0) { a = a*(-1); test = test*(-1); } if (b < 0) { b = b*(-1); test = test*(-1); } if (b > a) { temp = b; for (; (b % a) != 0; b = (b + temp)); return b*(test); } else { temp = a; for (; (a % b) != 0; a = (a + temp)); return a*(test); }}int rotate_180 (matrix, order)int matrix[MAX][MAX+1], order;{ int i, j, k; for (i = 0, j = order-1; i <= j; i++, j--) { column_reverse (matrix[i], order); if (i != j) column_reverse (matrix[j], order); for (k = 0; k < order+1; k++) /* reverse rows */ { int temp; temp = matrix[i][k]; matrix[i][k] = matrix[j][k]; matrix[j][k] = temp; } } return 0;}int output2 (matrix, order)int matrix[MAX][MAX+1];{ int i, j; printf("\n"); for (i = 0; i < order; i++) { for (j = 0; j < order+1; j++) printf("%4d ", matrix[i][j]); printf("\n"); } printf("\n"); return 0;}int column_reverse (array, order)int array[], order;{ int i, j; for (i = 0, j = order-1; i < j; i++, j--) { int temp; temp = array[i]; array[i] = array[j]; array[j] = temp; } return 0;}int verify_validity (matrix, order)int matrix[MAX][MAX+1], order;{ int i, j, test = 1; for (i = 0; i < order; i++) for (j = 0; j < order; j++) if (matrix[i][j] == 0) test = 0; return test; }
موفق باشید.
- - - به روز رسانی شده - - -
سلام دوست خوبم ،
ببینید الان خیلی بد موقعی ه ! امتحانات که جلو افتاده !کلاس ها ی جبرانی گذاشته میشه و میانترم ها و پروژه ها هم که دیگه .....!!
اینه که من به شخصه وقت دست به کد شدن ندارم ! یا خودتون باید بزنید ( که کار سختی هم نیست ، فقط مبانی ریاضیاتش رو باید بدونید) و یا سرچ کنید ( کد آماده که پره !).
من فقط یه گوگل سرچ کردم براتون این اومد( صحت و سقمش رو نمیدونم!) :
به هر حال باید خودتون هم تلاش کنید . با یه کم حوصله و تلاش می تونید خودتون به جواب برسید ( بدون نیاز به کمک دیگران ) .کد PHP:
* Program to solve a system of linear equations with 'n' variables *//* This algorithm makes use of the Gauss-Jordan method of solving simultaneous linear equations *//* For any clarifications please mail me at vaivaswatha@puttu.net */#include <stdio.h>#define MAX 5main(){ int order, matrix[MAX][MAX+1], test = 1; void exit(); do { printf("Maximum of %d variables. How many variables? ", MAX); scanf("%d", &order); } while (order > MAX); printf("\na11(x1) + a12(x2) + ..... + a1n(xn) = d1\n\n"); printf("Enter the co-efficients one by one....\n"); input (matrix, order); test = verify_validity (matrix, order); /* to ensure non-zero co-efficents for variables */ if (test == 0) { printf("This program supports only non-zero co-efficients for variables...\n"); exit(0); } make_lower_zero (matrix, order); output2 (matrix, order); rotate_180 (matrix, order); output2 (matrix, order); make_lower_zero (matrix, order); output2 (matrix, order); rotate_180 (matrix, order); output2 (matrix, order); output_result (matrix, order);}int input (matrix, order)int matrix[MAX][MAX+1], order;{ int i, j; for (i = 0; i < order; i++) for (j = 0; j < (order + 1); j++) scanf ("%d", &matrix[i][j]); return 0;}int output_result (matrix, order)int matrix[MAX][MAX+1], order;{ int i; float answers[MAX]; void exit(); for (i = 0; i < order; i++) if (matrix[i][i] != 0) answers[i] = ((float) matrix[i][order] / (matrix[i][i])); else { printf("No unique solutions....\n"); exit (0); } for (i = 0; i < order; i++) printf("Variable #%2d: %f\n", i+1, answers[i]); return 0;}int make_lower_zero (matrix, order)int matrix[MAX][MAX+1], order;{ int home, zero, lcm; for (home = 0; home < order-1; home++) for (zero = home + 1; zero < order; zero++) { int factor_home, factor_zero; lcm = find_lcm (matrix[home][home], matrix[zero][home]); factor_home = mod(lcm)/mod(matrix[home][home]); factor_zero = lcm/mod(matrix[zero][home]); multiply_by (matrix[home], factor_home, order); multiply_by (matrix[zero], factor_zero, order); subtract_home_row (matrix[zero], matrix[home], order); divide_by (matrix[home], factor_home, order); } return 0;} int multiply_by (matrix, a, order)int matrix[MAX], a, order;{ int i; for (i = 0; i < order+1; i++) /* i+1 is used to include the constant term d */ matrix[i] = (matrix[i] * a); return 0;}int divide_by (matrix, a, order)int matrix[MAX], a, order;{ int i; for (i = 0; i < order+1; i++) /* i+1 is used to include the constant term d */ matrix[i] = (matrix[i] / a); return 0;}int subtract_home_row (array2, array1, order)int array2[], array1[], order;{ int i; for (i = 0; i < order+1; i++) /* i+1 is used to include the constant term d */ array2[i] = array2[i] - array1[i]; return 0;}int mod (a)int a;{ if (a < 0) return (-1)*a; else return a;}int find_lcm (a, b)int a, b;{ int temp, test = 1; if (a < 0) { a = a*(-1); test = test*(-1); } if (b < 0) { b = b*(-1); test = test*(-1); } if (b > a) { temp = b; for (; (b % a) != 0; b = (b + temp)); return b*(test); } else { temp = a; for (; (a % b) != 0; a = (a + temp)); return a*(test); }}int rotate_180 (matrix, order)int matrix[MAX][MAX+1], order;{ int i, j, k; for (i = 0, j = order-1; i <= j; i++, j--) { column_reverse (matrix[i], order); if (i != j) column_reverse (matrix[j], order); for (k = 0; k < order+1; k++) /* reverse rows */ { int temp; temp = matrix[i][k]; matrix[i][k] = matrix[j][k]; matrix[j][k] = temp; } } return 0;}int output2 (matrix, order)int matrix[MAX][MAX+1];{ int i, j; printf("\n"); for (i = 0; i < order; i++) { for (j = 0; j < order+1; j++) printf("%4d ", matrix[i][j]); printf("\n"); } printf("\n"); return 0;}int column_reverse (array, order)int array[], order;{ int i, j; for (i = 0, j = order-1; i < j; i++, j--) { int temp; temp = array[i]; array[i] = array[j]; array[j] = temp; } return 0;}int verify_validity (matrix, order)int matrix[MAX][MAX+1], order;{ int i, j, test = 1; for (i = 0; i < order; i++) for (j = 0; j < order; j++) if (matrix[i][j] == 0) test = 0; return test; }
موفق باشید.
سلام دوست خوبم،خیلی دلم میخواد کمکتون کنم ولی متاسفانه نه رشته ام طوریه که کمک کنم و نه خودم بلدم.sorry![]()
یه نگاه به این بنداز
http://www.alexeypetrov.narod.ru/Eng/C/gauss_about.html
الان اطلاعاتو از فایل میخواد ولی میشه کاری کرد که از کاربر اطلاعاتو بگیره فقط باید یه کوچولو دستکاریش کنی!
در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)
علاقه مندی ها (Bookmarks)