دوست عزیز، به سایت علمی نخبگان جوان خوش آمدید

مشاهده این پیام به این معنی است که شما در سایت عضو نیستید، لطفا در صورت تمایل جهت عضویت در سایت علمی نخبگان جوان اینجا کلیک کنید.

توجه داشته باشید، در صورتی که عضو سایت نباشید نمی توانید از تمامی امکانات و خدمات سایت استفاده کنید.
نمایش نتایج: از شماره 1 تا 10 , از مجموع 10

موضوع: یک سئوال برنامه نویسی پیشرفته c

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #8
    کاربر جدید
    رشته تحصیلی
    IT
    نوشته ها
    37
    ارسال تشکر
    48
    دریافت تشکر: 170
    قدرت امتیاز دهی
    1012
    Array

    پیش فرض پاسخ : یک سئوال برنامه نویسی پیشرفته c

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

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


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


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

    کد 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;             } 
    به هر حال باید خودتون هم تلاش کنید . با یه کم حوصله و تلاش می تونید خودتون به جواب برسید ( بدون نیاز به کمک دیگران ) .

    موفق باشید.

  2. 2 کاربر از پست مفید Dilon سپاس کرده اند .


اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. پاسخ ها: 0
    آخرين نوشته: 21st September 2012, 11:08 PM
  2. مقاله: تاریخچه ی پیدایش زبان های برنامه نویسی جنبه گرا
    توسط Victor007 در انجمن سایر مقالات بخش کامپیوتر
    پاسخ ها: 0
    آخرين نوشته: 30th October 2009, 12:33 PM
  3. فایل: حل تمرینات برنامه نویسی پیشرفته 1 تا 9
    توسط moji5 در انجمن مهندسی کامپیوتر - نرم افزار
    پاسخ ها: 0
    آخرين نوشته: 18th October 2009, 09:30 PM
  4. فایل: نمونه سوال برنامه نویسی پیشرفته
    توسط moji5 در انجمن مهندسی کامپیوتر - نرم افزار
    پاسخ ها: 0
    آخرين نوشته: 18th October 2009, 09:29 PM

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •