Pagini recente » Cod sursa (job #2420745) | Cod sursa (job #608933) | Cod sursa (job #1335302) | Cod sursa (job #1292038) | Cod sursa (job #2847770)
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
ifstream fin("gauss.in");
ofstream fout("gauss.out");
const double eps = 0.0000001;
int n, m;
double mat[305][310], sol[305];
void schimb(int a, int b)
{
for(int i = 1; i <= m + 1; i++)
swap(mat[a][i], mat[b][i]);
}
int main()
{
fin >> n >> m;
for(int i = 1; i <= n; i++)
for(int j = 1; j <= m + 1; j++)
fin >> mat[i][j];
int i = 1, j = 1;
while(i <= n && j <= m)
{
int k;
for(k = i; k <= n; k++)
if(mat[k][j] < -eps || mat[k][j] > eps)
break;
if(k == n + 1)
{
j++;
continue;
}
if(k != i)
schimb(k, i);
for(k = j + 1; k <= m + 1; k++)
mat[i][k] = mat[i][k] / mat[i][j];
mat[i][j] = 1;
for(k = i + 1; k <= n; k++)
{
for(int l = j + 1; l <= m + 1; l++)
mat[k][l] -= mat[k][j] * mat[i][l];
mat[k][j] = 0;
}
i++, j++;
}
for(i = n; i > 0; i--)
{
for(int j = 1; j <= m + 1; j++)
{
if(mat[i][j] > eps || mat[i][j] < -eps)
{
if(j == m + 1)
{
fout << "Imposibil";
return 0;
}
sol[j] = mat[i][m + 1];
for(int k = j + 1; k <= m; k++)
sol[j] -= sol[k] * mat[i][k];
break;
}
}
}
fout << fixed << setprecision(8);
for(int i = 1; i <= n; i++)
fout << sol[i] << '\n';
return 0;
}
/*
.::////++ossss+. `++:``
-md+ohddhhhhhhMM/ oMMMNds+-`
`/dh` /M: `::://///mMo `hMm+oydmmNhs/-`
`:hNNM/ /M+ -:://///hMh `mMy/////+oydMNd`
`/dNmsoMd` :Mm.`.-:://///yMd`.MM+////////oNMy`
`/hNms///dM: :MN/--::::////oMm.-MN/////////dMN-
`/hNms/////oMd`-NN+::::::////+mNhhMh////////oMMo
yMNy////////dMhdNm/:::::://////+oss/////////mMm.
/NNs////////oddyo/::::::://////////////////sMM+
`+NMs//////////::::::::::://///////////////mMh`
`+NMs//////////::::::::::////////////////sMN:
`+MNo/////////::::::::::////////////////mMs`
`+MNo/////////:::::::::///////////////sMm.
oMN+////////:::::::::///////////////NM/
oMm+/////////+ooooosssssssssooo+//yMh
`oMm+////+osssssssssssssssssssssssNN.
`oMm+/osssssssssssssssssssssssssdM/
`+NmysssssssssssssssssssssssshNMs
-hMmhyssssssssssssssssyhdNNho-`
`-ohmNmmdddddddmmmmmhys+-``
``.-:://///::-..```
````..--:://++oosyyhh+`
``` .+osyyhdmmmmmmmmmmddddhyyshMM/
-sdmdy. -dMdhyyysooo+++/////::///:::yMm--os+-`
.dMMMMm-/mMmyhddd+::::::::::::omNmmdyohMmNMMMNo
+MMMMMNmMMMMMMMMMs::::::::::::sMMMMMMMNMMMMMMMm.
oMMMMMMMMMMMMMMNd/::::::::::::+mNMMMMMMMMMMMMMM:
/NMMMMMMMMNNmdyo/:::::/+++/::::/ohmmNMMMMMMMMMN-
`+hmNNdhyso+/::::::++:+ooo/::+::::/+oyhdmNNNNNy`
:mMy/:::::::::::/M+::::::::y::::::::://+oNMs`
`/NNs:/shhs/::::::+M:::::::::y:::::::/+//::sMm-
``````oNNo:oNMMMMNy:::::+M:::::::::y:::::+hNMMmo::hMh` ````
`.:oydddhhMm+:/yyyhmMMMy::::+M:::::::::y::::sNMMMMMMo:/dMs``/oosssso/-`
`+hNMNNNNNNNm/:::::://+ymN/:::+N:::::::::y:::sNmhso++sy::/mM+sMNNNNNNNNNh-
+MMNNNNNNNNNd/::::::+sso:o::::+N:::::::::y:::+/+ss+:::::::+NMNNNNNNNNNNNMy
+MMNNNNNNNNNNs::::::::::+ooo/:/+:::::::::dyyssso:::::::::::oNNNNNNNNNNNNMh
-MMMNNNNNNNNNmdddhhhyyyNds//:::::::::::::///+sdNmhhhhhhhddddNNNNNNNNNNNNMo
`dMMMMMMNNNNNNNNNNNNNNMm/::::::::::::::::::::::/mMNNNNNNNNNNNNNNNNNNMMMMN-
:NMMMMMMMMMMMMMMMMMMMMMmyo+//:::::::::::::://+odMMMMMMMMMMMMMMMMMMMMMMM+`
+MNNmNMMMMMMMMMMMMMMMMMMMMNNNNmddhhhhhddmNNNMMMMMMMMMMMMMMMMMMMMMMMNd/`
:mMdh/.-::/+ooosssyyyhhhhhhhhhddddddddddddddddddddhhhyyssooo+/:ydmMMm.
`oNMNhhy: `` `````````````````````````` `+hhhNMMm/`
-hMMNmhhhyo. `` ` `` -shhhhmNMMNs`
`+mMMNNmhhhhhyo-` `` . `` .:shhhhhhmNNNMMh.
.yMMNNNNmhhhhhhhhs+-.` `` . ` `-/oyhhhhhhhhmNNNNMMd:
:dMMNNNNNmhhhhhhhhhhhyso/:-.`` ` ``..-/+oyyhhhhhhhhhhhNNNNNNMMN+
`+NMMNNNNNNmhhhhhhhhhhhhhhhhyyssso+++//////://///+++osssyyhhhhhhhhhhhhhhhhhNNNNNNMMMN-
`sMMMMMNNNNNNhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdNNNNNMMMMMs
.MMMMMMMMNNNNdhhhhhhhhhhhhhhhhhhhhhhhhhhhdddhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhmNNNMMMMMMN:
`+NMMMMMMMNNNmhhhhhhhhhhhhhhhhhhhhhhddmmmmmdhhhmmmmmdhhhhhhhhhhhhhhhhhhhhhdNNNMMMMMMm:
.yNMMMMMMMNNd/syhhhhhhhhhhhhhhhhdmmmmmmmdhhhhdmmmmdhsssssyyhhhhhhhhhhyyomNNMMMMMMh.
:dMMMMMMMMNs`.+shhhhhhhhhhysssssssyyhhhhhhhmmdysssssssssssyhhhhhhs/.`hNMMMMMMMs`
`+NMMMMMMMMh. .:+syhhhhsssssssssssssssshddssssssssssssssshys+:` `hMMMMMMMN/`
.sMMMMMMMMN/ `-:+oooosssssssssssssssssssssssooo+//:-.` -mMMMMMMMM/
:MMMMMMMMMd: ` ```....-----------...```` ` `sNMMMMMMMNMd`
`sMMmMMMMMMMMh/` .oNMMMMMMMNdhMM+
/MMmyhmMMMMMMMMmo- `` `:sNMMMMMMMNdhyymMN-
.mMmyyyyhmNMMMMMMMNdo:` `` `:odNMMMMMMMNdhyyyyyNMh`
`hMMysyyyyyhdNMMMMMMMMNmy+:.` `` `.:+hmNMMMMMMMMNdhyyyyssshMMo
oMMhssssyyyyyyhdNMMMMMMMMMNNmhs+/:---.-----://oyhmNNMMMMMMMMMNmhhyyyyysssssdMN:
:NMdsssssssyyyyyyhhmNMMMMMMMMMMMMMMNNNNmNNNNNMMMMMMMMMMMMMMMNdhyyyyyysssssssyNMd`
.mMNmdhyssssssyyyyyyyhdmNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNmhhyyyyyssssssssyyhNMMo
`yMNyyhdmmhyssssssyyyyyyyhhdmMMMMMMMMMMMMMMMMMMMMMMMMMMMmdhhyyyyyyssssssyyhmmdhyhMN-
+MMdsssssyhddhyysssssyyyyyyooshmNMMMMMMMMMMMMMMMMMMMNmhsooyyyyysssssyyddmmhyyssssmMd`
-NMmsssssssssyyhddhyyssssyysooooosydNNMMMMMMMMMMMMNdysooooosysssyyhdmmdhysssssssssyNMo
`dMNyssssssssssssssyhhdhhyys++++ooooooshmNMMMMMNmhsoooooo++++yhddddhyysssssssssssssshMN-
`sMMhsssssssssssssssssssyyhhdhysoooooooooooyhddysoooooooosyyhhhhyyssssssssssssssssssssmMd`
/MMmssssssssssssssssssssssssssyyhhdddddhhhhyyyhyyyhhhhhhhyysssssssssssssssssssssssssssyMMo`
-NMNysssssssssssssssssssssssssssssssssssyyyhhhhyyyysssssssssssssssssssssssssssssssssssssdMN-
/sso/////////////////////////////////////////////////////////////////////////////////////ss/
*/