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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2013, 12:03   #1
little_girl1
Новичок
Джуниор
 
Регистрация: 14.10.2013
Сообщений: 2
По умолчанию Помогите пожалуйста,срочно. Метод Гаусса.

Прошу помощи)
Нужно реализовать метод Гаусса, который считывает матрицу с файла. Проблема в том, что после каждого этапа, например зануление столбцов, нужно выводить матрицу на экран.
Буду очень благодарна.
Код прилагается.

Код:
#include <stdio.h>
#include <conio.h>
 
#define N 3
#define M 4
 
float mas[N][M];
 
int main()
{    
    float x1,x2,x3;
    float delitel; 
    int i, j, k;
    float m,p;
    FILE *f;
    f = fopen("file.txt","r");
    for(i=0; i!=N; i++){
        for(j=0; j!=M; j++){
            fscanf(f, "%f", &(mas[i][j]));
            printf("%.0f", mas[i][j]);
        }   
        printf("\n");
    }
    for(i=0; i<N; i++)
    for(j=0;j<M; j++)
    {
        if(i>j){ 
            delitel = (mas[i][j] / mas[j][j]);
            for (k = 0; k < M; k++)
            {
                p=mas[j][k]*delitel;
                mas[i][k] -= p;                         
            }                   
        }
        else
        {
        //получение единиц на диагонали
            if (i == j) 
            {
                m=mas[i][j];
                if (mas[i][j] != 1)
                {
                    for (k = 0; k != M; k++)
                    mas[i][k] /= m;     
                }
                else
                continue;   
            }
        }
    }
    x3=mas[2][3];
    x2=mas[1][3]-x3*mas[1][2];
    x1=mas[0][3]-(x2*mas[0][1]+x3*mas[0][2]);
    printf ("\n");
    printf("x1=%f x2=%f x3=%f",x1,x2,x3);
    getch();
}


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 28.11.2013 в 13:02.
little_girl1 вне форума Ответить с цитированием
Старый 28.11.2013, 13:35   #2
SaLoKiN
Форумчанин
 
Аватар для SaLoKiN
 
Регистрация: 19.09.2013
Сообщений: 597
По умолчанию

Цитата:
нужно выводить матрицу на экран.
в чем проблема то?

Код:
for(i=0; i<N; i++){
        for(j=0; j<M; j++)
             printf("%.0f", mas[i][j]);
        printf("\n");
    }
Сделал сам, помоги другому!
Что-то работает не так? Дебаггер в помощь!!!

Последний раз редактировалось SaLoKiN; 28.11.2013 в 13:37.
SaLoKiN вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
метод простых операций и метод гаусса зейделя tarasman11 Паскаль, Turbo Pascal, PascalABC.NET 1 23.09.2012 14:46
Безумно сложные задачки!!!! Метод Гаусса, итераций, метод половинного деления, задача Коши и т.д. Хомяк!!!!! Помощь студентам 4 08.07.2009 10:08
Помогите создать програму для роботы с файлами, пожалуйста помогите нужно очень срочно Сергей Человек Фриланс 3 06.07.2009 19:30