समस्या
रनटाइम पर 9 संख्याएं दर्ज करें और उन्हें 3x3 मैट्रिक्स के रूप में संग्रहीत करें। फिर पंक्ति-वार, स्तंभ-वार और विकर्ण-वार योग की गणना करें और प्रिंट करें।
एल्गोरिदम
चरण 1: 9 चर घोषित करें (x, y, z, p, q, r, a, b, c)
चरण 2: रनटाइम पर 9 संख्याएं पढ़ें
चरण 3: 3x3 मैट्रिक्स रूप में संग्रहीत करें:
x y z
p q r
a b c
चरण 4: पंक्ति योग: (x+y+z), (p+q+r), (a+b+c)
चरण 5: स्तंभ योग: (x+p+a), (y+q+b), (z+r+c)
चरण 6: विकर्ण योग: (x+q+c), (a+q+z)
प्रोग्राम
#include <stdio.h>
int main() {
int x, y, z, p, q, r, a, b, c;
printf("कोई भी 9 संख्याएं दर्ज करें:\n");
scanf("%d %d %d %d %d %d %d %d %d",
&x, &y, &z, &p, &q, &r, &a, &b, &c);
// मैट्रिक्स प्रदर्शित करें
printf("%d %d %d\n", x, y, z);
printf("%d %d %d\n", p, q, r);
printf("%d %d %d\n", a, b, c);
// पंक्ति योग
printf("पंक्ति योग: %d %d %d\n",
(x + y + z), (p + q + r), (a + b + c));
// स्तंभ योग
printf("स्तंभ योग: %d %d %d\n",
(x + p + a), (y + q + b), (z + r + c));
// विकर्ण योग
printf("विकर्ण योग: %d %d\n",
(x + q + c), (a + q + z));
return 0;
}
आउटपुट
कोई भी 9 संख्याएं दर्ज करें:
2 4 6 3 5 7 8 9 2
2 4 6
3 5 7
8 9 2
पंक्ति योग: 12 15 19
स्तंभ योग: 13 18 15
विकर्ण योग: 9 19
सत्यापन
| प्रकार | गणना | परिणाम |
|---|---|---|
| पंक्ति 1 | 2 + 4 + 6 | 12 |
| पंक्ति 2 | 3 + 5 + 7 | 15 |
| पंक्ति 3 | 8 + 9 + 2 | 19 |
| स्तंभ 1 | 2 + 3 + 8 | 13 |
| स्तंभ 2 | 4 + 5 + 9 | 18 |
| स्तंभ 3 | 6 + 7 + 2 | 15 |
| मुख्य विकर्ण | 2 + 5 + 2 | 9 |
| द्वितीयक विकर्ण | 8 + 5 + 6 | 19 |
सुधार: सरणी का उपयोग करके
बड़े मैट्रिक्स के लिए, अलग-अलग चर के बजाय 2D सरणी का उपयोग करना बेहतर है:
int mat[3][3];
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++)
scanf("%d", &mat[i][j]);
// पंक्ति योग
for (int i = 0; i < 3; i++) {
int sum = 0;
for (int j = 0; j < 3; j++) sum += mat[i][j];
printf("पंक्ति %d योग: %d\n", i+1, sum);
}