All pastes #453006 Raw Edit

Anonymous

public c v1 · immutable
·published 2007-04-22 17:57 UTC
rendered paste body
#include<stdio.h>int macierz[50][50]; int rozmiar;void start(); int check_rozmiar();void gauss1();void gauss2();void zamien();void stop();void czysc();void wyswietl();void powrot_start();int det();void czysc(){#ifdef WIN32	system("cls");#else	system("clear");#endif}void create_macierz(){    int i, j;    for(i=0; i<rozmiar; i++)    {        for(j=0; j<rozmiar; j++)        {            macierz[i][j]=(rand()%100);            //printf("%4d", macierz[i][j]);        }        //printf("\n");    }}void stop(){    int a;    printf("\n");    printf("Wcisnij ENTER aby kontynuowac...");      getchar();    getchar();}void powrot_start(){    stop();    czysc();    start();}void gauss1(){    int i, j, k=0, licznik=0; double dzielnik[rozmiar];    while(licznik < rozmiar-1);    {        if(macierz[0+licznik][0+licznik])        {            for(i=1+licznik; i<rozmiar; i++)            {                dzielnik[i-1-licznik]=macierz[i][licznik]/macierz[0+licznik][0+licznik];            }            for(i=1+licznik; i<rozmiar; i++)            {                for(j=0+licznik; j<rozmiar; j++)                    {                        macierz[i][j]=macierz[i][j]-(macierz[0+licznik][0+licznik]*dzielnik[i-1-licznik]);                    }            }        }        else zamien(licznik);        licznik ++;    }    for(i=0; i<rozmiar; i++)    {        for(j=0; j<rozmiar; j++)        {            printf("%d\t", macierz[i][j]);        }    }}void zamien(int a){    int i, j, temp[1][rozmiar];    while(a<rozmiar)    {        if(macierz[0+a+1][0+a])        {            for(i=0; i<rozmiar; i++)            {                for(j=0; j<rozmiar; j++)                {                    temp[i][j]= macierz[0+a][j];                    macierz[0+a][j]=macierz[0+a+1][j];                    macierz[0+a+1][j]=temp[i][j];                }            }        }        else a++;    }}int det(){    int i, j, wynik=1;    for(i=0; i<rozmiar; i++)    {        wynik*=macierz[i][i];    }    return wynik;}void start(){    int wynik;    printf("Podaj rozmiar macierzy n (n>1 i n<=50): ");    scanf("%d", &rozmiar);    if(rozmiar == 2)    {        create_macierz();        printf("Wyznacznik tej macierzy wynosi: %d", macierz[0][0]*macierz[1][1]-macierz[0][1]*macierz[1][0]);    }    else if(rozmiar > 2 && rozmiar<=50)    {        create_macierz();        gauss1();        wynik=det();        printf("Wyznacznik tej macierzy wynosi: %d", wynik);    }    else     {        printf("Zly rozmiar macierzy!");        powrot_start();    }            stop();}main(){    start();    return 0;}