PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : سوال یک سئوال برنامه نویسی پیشرفته c



BaAaHaR
1st May 2013, 02:37 PM
سئوال زیر رو کسی میتونه حل کنه؟ به شدت به جوابش نیاز دارم.

برنامه ای بنویسید که یک دستگاه چندمعادله ای مرتبه n را بگیرد و در خروجی مجهولات چاپ کند.



a1x1+b1x2+c1x3=d1
a2x1+b2x2+c2x3=d2
a3x1+b3x2+c3x3=d3

niusha231
1st May 2013, 03:21 PM
ببخشید دوست عزیز که نمی تونم فعلا کمکتون کنم ولی حتما دنبال جوابش براتون می گردم [cheshmak]

BaAaHaR
1st May 2013, 05:28 PM
up

.................

BaAaHaR
1st May 2013, 06:52 PM
یعنی برای رضای خدا وبرای کمک به این دختر نیازمند کسی در این انجمن با 220 هزار عضو نبود که در حل این سئوال به من کمک کنه؟ حتما باید تاپیکی راجب دختر وپسر وجوک و تفریح باشه؟

Dorna dordone
2nd May 2013, 10:50 AM
یعنی برای رضای خدا وبرای کمک به این دختر نیازمند کسی در این انجمن با 220 هزار عضو نبود که در حل این سئوال به من کمک کنه؟ حتما باید تاپیکی راجب دختر وپسروجوک و تفریح باشه؟


نگار خانوم گلم

چون مربوط به بخش برنامه نویسی میشه باید از دوستانی کمک بگیری که تخصص دارن

ببخشید که نمیتونم کمکتون کنم اما افراد بیشتری رو دعوت کنید ... بهتر هستش

BaAaHaR
2nd May 2013, 10:57 AM
نگار خانوم گلم

چون مربوط به بخش برنامه نویسی میشه باید از دوستانی کمک بگیری که تخصص دارن

ببخشید که نمیتونم کمکتون کنم اما افراد بیشتری رو دعوت کنید ... بهتر هستش


سلام درنا جون .خوبی گلم؟

ببین یعنی تو این سایت چنین متخصصانی وجود ندارن؟ پس چرا نمیان کمک کنن؟.مگه اینجا اسمش نخبگان نیست؟ خو مشکلات علمی رو باید بتونه حل کنه وگرنه .....

Dorna dordone
2nd May 2013, 11:39 AM
سلام درنا جون .خوبی گلم؟

ببین یعنی تو این سایت چنین متخصصانی وجود ندارن؟ پس چرا نمیان کمک کنن؟.مگه اینجا اسمش نخبگان نیست؟ خو مشکلات علمی رو باید بتونه حل کنه وگرنه .....



سلام به روی ماهت عزیزم

عذر میخوام که سلام بهترین کلام رو فراموش کردم

تو این سایت دوستان عزیز و متخصص زیادی هست گلم

همگی هم خوب و با حوصله به سوالات جوابگو هستن.. تنها کمی صبر لازمه خانومم

باید توجه داشته باشی که دوستانی که تخصص خاصی تو این زمینه ها دارند درگیر کار و روزمرگی های خودشونم هستن گلم

پس اون دل کوچیکتو یه کم صبوری کنه مطئنم جواب این مسئله رو هم هر چه زودتر میگیری[alaghemand]


آرزوی موفقیت برات میکنم و اینکه انشاالله هر چه زودتر یکی از عزیزان پاسخ سوالتو بده[golrooz]

Dilon
2nd May 2013, 02:13 PM
سلام دوست خوبم ،

ببینید الان خیلی بد موقعی ه !‌ امتحانات که جلو افتاده !‌کلاس ها ی جبرانی گذاشته میشه و میانترم ها و پروژه ها هم که دیگه .....‌!!


اینه که من به شخصه وقت دست به کد شدن ندارم ! یا خودتون باید بزنید (‌ که کار سختی هم نیست ، فقط مبانی ریاضیاتش رو باید بدونید) و یا سرچ کنید ( کد آماده که پره !‌).


من فقط یه گوگل سرچ کردم براتون این اومد( صحت و سقمش رو نمیدونم‌!‌)‌ :


* 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; }

به هر حال باید خودتون هم تلاش کنید . با یه کم حوصله و تلاش می تونید خودتون به جواب برسید ( بدون نیاز به کمک دیگران ) .

موفق باشید.

- - - به روز رسانی شده - - -

سلام دوست خوبم ،

ببینید الان خیلی بد موقعی ه !‌ امتحانات که جلو افتاده !‌کلاس ها ی جبرانی گذاشته میشه و میانترم ها و پروژه ها هم که دیگه .....‌!!


اینه که من به شخصه وقت دست به کد شدن ندارم ! یا خودتون باید بزنید (‌ که کار سختی هم نیست ، فقط مبانی ریاضیاتش رو باید بدونید) و یا سرچ کنید ( کد آماده که پره !‌).


من فقط یه گوگل سرچ کردم براتون این اومد( صحت و سقمش رو نمیدونم‌!‌)‌ :


* 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; }

به هر حال باید خودتون هم تلاش کنید . با یه کم حوصله و تلاش می تونید خودتون به جواب برسید ( بدون نیاز به کمک دیگران ) .

موفق باشید.

k.ahmadi
2nd May 2013, 11:33 PM
سلام دوست خوبم،خیلی دلم میخواد کمکتون کنم ولی متاسفانه نه رشته ام طوریه که کمک کنم و نه خودم بلدم.sorry[narahat]

emer62304
3rd May 2013, 04:59 PM
سئوال زیر رو کسی میتونه حل کنه؟ به شدت به جوابش نیاز دارم.

برنامه ای بنویسید که یک دستگاه چندمعادله ای مرتبه n را بگیرد و در خروجی مجهولات چاپ کند.


a1x1+b1x2+c1x3=d1
a2x1+b2x2+c2x3=d2
a3x1+b3x2+c3x3=d3

یه نگاه به این بنداز

http://www.alexeypetrov.narod.ru/Eng/C/gauss_about.html

الان اطلاعاتو از فایل میخواد ولی میشه کاری کرد که از کاربر اطلاعاتو بگیره فقط باید یه کوچولو دستکاریش کنی!

استفاده از تمامی مطالب سایت تنها با ذکر منبع آن به نام سایت علمی نخبگان جوان و ذکر آدرس سایت مجاز است

استفاده از نام و برند نخبگان جوان به هر نحو توسط سایر سایت ها ممنوع بوده و پیگرد قانونی دارد