Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на C/С++

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

BednuuStudent

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору


Код:
 
#include <iostream.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <conio.h>
 
const int SIZE_J=5;
const int SIZE_I=4;
 
void gauss(float[][SIZE_J], int, int, int);
void gauss_tmp(float[][SIZE_J]);
 
void main()//Создаем пустую функцию для ввода параметров.
{        
 clrscr()//отчищаем дисплей;
 Float mas[SIZE_I][SIZE_J]={{4,5,6,7,1},{8,9,10,11,2},{12,3,3,5,3},{16,-1,-2,3,4}};//создаем матрицу размером IxJ
 
 
    float sum=0; // инициализируем переменную sum,задавая ей начальное значени 0  
    int kod;//объявляем переменную kod как int(целочисленную) в диапазоне -32767 - 32767  
    printf("Danaya programa vu4iclyaet CLAY metodom Dgordano-Gaysa\n\n"); //используемых для форматного вывода — вывода в различные потоки значений разных типов, //отформатированных согласно заданному шаблону. Этот шаблон определяется составленной по //специальным правилам строкой (форматной строкой).  
 
    printf("1 na4at\n0 vuxod\n\n\n");
 
    {
 
 
        kod=getch();// в переменную kod заносим значение введенное с  
//    клавиатуры(getch()-читает без эхо-отображения отдельный символ
// прямо с консоли. Напечатанные (введенные) символы не имеют
// эхо-отображения. Если введен CONTROLL-C, система выполняет INT
// 23H.)  
 
        switch(kod); //вычисляется выражение в круглых скобках после оператора switch //(предварительная стадия);  
//это значение последовательно сравнивается со значениями константных выражений за метками case //(стадия определения начальной точки выполнения оператора);  
//    если значения совпадают, управление передаётся соответствующему помеченному оператору (стадия //выполнения);  
//       если ни одно значение не совпадает и в теле оператора case есть оператор, помеченный меткой //default, управление передаётся этому оператору (но даже в этом случае сочетание объявления с //инициализацией недопустимо!) (стадия выполнения);  
//    если ни одно значение не совпадает, и в теле оператора case нет оператора, помеченного меткой //default, управление передаётся оператору, следующему за оператором switch (стадия выполнения).  
        {
        case 49:
            {
                gauss_tmp(mas);
                printf("\n\n\nnajmite liubuiu klavishu dla vuxoda");
                getch();
            }break;
 
        case 48:
            {
                exit(0);
            }break;
        }
    }
 
 
 
}
 
void gauss_tmp(float mas[][SIZE_J]) //возвращаемая функция  
//тип_возврата имя_функции(список_параметров)
//{
// Тело_функции
//}
 
{
    float mas_tmp[SIZE_I][SIZE_J];  
    for(int i=0;i<SIZE_I;i++) //цикл for позволяет выполнить автоматическую //инициализацию и инкременирование переменной счетчика
// for(инициализация; условие; инкримент)
// {
// блок_операторов
// }
 
    {
        for(int j=0;j<SIZE_J;j++)mas_tmp[i][j]=mas[i][j];  
    }
 
    gauss(mas_tmp,SIZE_I,SIZE_J,0);
}
 
void gauss(float mas[][SIZE_J], int size_i, int size_j, int start) //возвращаемая //функция  
{
    float x, y, z, t;  
    if(start==size_j-2)
    {
        int i=0;
        t=mas[i][size_j-1]/mas[i][start]; i++; start--;
        z=(mas[i][size_j-1]+t)/mas[i][start]; i++; start--;
        y=(mas[i][size_j-1]+t+z)/mas[i][start]; i++; start--;
        x=(mas[i][size_j-1]+t+z+y)/mas[i][start]; i++; start--;
 
        printf("x=%f\nx=%f\nx=%f\nx=%f\n",x,y,z,t);
 
        return;
    }
 
    float del;
    float tmp;
 
    for(int i=0;i<=size_i-(start+1);i++)
    {
        del=mas[i][start];
 
        for(int j=0;j<size_j;j++)
        {
            mas[i][j]=mas[i][j]/del;
        }
    }
 
 
    for(int j=0;j<size_j;j++)
    {
        tmp=mas[0][j];
        mas[0][j]=mas[size_i-(start+1)][j];
        mas[size_i-(start+1)][j]=tmp;
    }
 
 
    for(i=0;i<size_i-(start+1);i++)
    {
        for(int j=0;j<size_j;j++)
        {
            mas[i][j]=mas[size_i-(start+1)][j]-mas[i][j];
        }
    }
 
    gauss(mas,size_i,size_j,start+1);
 
}
 






Ээээ а Хелп запретили использовать или ты хочешь, чтобы тебе тут весь хелп повторили?

Всего записей: 4 | Зарегистр. 20-01-2010 | Отправлено: 22:23 21-01-2010 | Исправлено: ShIvADeSt, 07:29 22-01-2010
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на C/С++


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru