गॉस-साइडेल मेथड का उपयोग इटरेटिव मेथड में रैखिक समीकरण प्रणाली को हल करने के लिए किया जाता है। यह C++ प्रोग्राम गॉस-साइडेल मेथड को इम्प्लीमेंट करता है।
एल्गोरिदम
Begin मैट्रिक्स के डायमेंशन p और उसके तत्वों को इनपुट के रूप में लें। x के प्रारंभिक मान और इटरेशन की संख्या q को इनपुट के रूप में लें। जब q>0 i = 0 से p-1 तक फॉर लूप बनाएं n[i] = (b[i] / a[i][i]) इनिशियलाइज़ करें। i = 0 से p-1 तक फॉर लूप बनाएं यदि (j == i) n[i] = n[i] - ((a[i][j] / a[i][i]) * m[j])। m[i] = n[i]। q घटाएं। /* यहाँ, a[i][j] = इनपुट मैट्रिक्स। b[i] = यह ऐरे समीकरण के दाईं ओर के मान लेता है। m[i] = x के प्रारंभिक मान संग्रहीत करता है। */ Return 0 End
उदाहरण
#include<iostream> #include<conio.h> using namespace std; int main(void) { float a[10][10], b[10], m[10], n[10]; int p = 0, q = 0, i = 0, j = 0; cout << "Enter size of 2D array : "; cin >> p; for (i = 0; i < p; i++) { for (j = 0; j < p; j++) { cout << "a[" << i << ", " << j << " ]="; cin >> a[i][j]; } } cout << "\nEnter values to the right side of equation\n"; for (i = 0; i < p; i++) { cout << "b[" << i << ", " << j << " ]="; cin >> b[i]; } cout << "Enter initial values of x\n"; for (i = 0; i < p; i++) { cout << "x:[" << i<<"]="; cin >> m[i]; } cout << "\nEnter the no. of iteration : "; cin >> q; while (q> 0) { for (i = 0; i < p; i++) { n[i] = (b[i] / a[i][i]); for (j = 0; j < p; j++) { if (j == i) continue; n[i] = n[i] - ((a[i][j] / a[i][i]) * m[j]); m[i] = n[i]; } cout<<"x"<<i + 1 << "="<<n[i]<<" "; } cout << "\n"; q--; } return 0; }
आउटपुट
Enter size of 2D array : 2 a[0, 0 ]=1 a[0, 1 ]=2 a[1, 0 ]=3 a[1, 1 ]=4 Enter values to the right side of equation b[0, 2 ]=1 b[1, 2 ]=2 Enter initial values of x x:[0]=0 x:[1]=0 Enter the no. of iteration : 3 x1 = 1. x2 = -0.25 x1 = 1.5 x2 = -0.625 x1 = 2.25 x2 = -1.1875