logo

كيفية إضافة مصفوفة في C

تستخدم المصفوفات على نطاق واسع في مجالات مختلفة مثل الفيزياء والهندسة وعلوم الكمبيوتر. في لغة البرمجة C، يتم استخدام المصفوفات لتمثيل ومعالجة صفائف البيانات متعددة الأبعاد. فيما يلي بعض الأمثلة على سبب حاجتنا لاستخدام المصفوفات في لغة C:

    معالجة الصورة:تُستخدم المصفوفات بشكل شائع لتمثيل الصور في رؤية الكمبيوتر وتطبيقات معالجة الصور. يمثل كل عنصر من عناصر المصفوفة كثافة البكسل في الصورة، ويمكن استخدام المصفوفة لتطبيق خوارزميات معالجة الصور المختلفة مثل التصفية والتحويل والضغط.الجبر الخطي: تستخدم المصفوفات لتمثيل ومعالجة المعادلات الخطية، والتي تستخدم على نطاق واسع في الفيزياء والهندسة ورسومات الكمبيوتر. يمكن استخدام المصفوفات لحل أنظمة المعادلات الخطية، وحساب المحددات، وتنفيذ عمليات المصفوفة مثل الانقلاب، والتحويل، والضرب.التعلم الالي:تُستخدم المصفوفات لتمثيل البيانات في خوارزميات التعلم الآلي. يمكن استخدام المصفوفات لتمثيل ناقلات الميزات ومجموعات التدريب ومصفوفات الوزن في الشبكات العصبية.تطوير اللعبة: تُستخدم المصفوفات لتمثيل الرسومات ثلاثية الأبعاد ومعالجتها في تطوير الألعاب. يمكن استخدام المصفوفات لتمثيل التحولات مثل ترجمة الكائنات وتدويرها وقياسها في مشهد ثلاثي الأبعاد.الروبوتات وأنظمة التحكم: تستخدم المصفوفات لتمثيل حالة النظام ومعالجتها في الروبوتات وأنظمة التحكم، ويمكن استخدام المصفوفات لتمثيل موضع وسرعة وتسارع مفاصل الروبوت، أو لتمثيل حالة نظام التحكم.

إنشاء مصفوفة في لغة البرمجة C

1. استخدام مصفوفة

كود ج

 #include int main() { int matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; printf('Matrix created using an array:
&apos;); for (int i = 0; i <3; i++) { for (int j="0;" < 3; j++) printf('%d ', matrix[i][j]); } printf('
'); return 0; pre> <p> <strong>Output</strong> </p> <pre> Matrix created using an array: 1 2 3 4 5 6 7 8 9 </pre> <p> <strong>2. Using a Nested Loop</strong> </p> <p> <strong>C Code</strong> </p> <pre> #include int main() { int matrix[3][3]; int i, j; for (i = 0; i <3; i++) { for (j="0;" j < 3; j++) matrix[i][j]="i" + j; } printf('matrix created using a nested loop:
'); (i="0;" i printf('%d ', matrix[i][j]); printf('
'); return 0; pre> <p> <strong>Output</strong> </p> <pre> Matrix created using a nested for loop: 0 1 2 1 2 3 2 3 4 </pre> <p> <strong>3. Dynamic Memory Allocation</strong> </p> <p> <strong>C Code</strong> </p> <pre> #include #include int main() { int **matrix; matrix = (int **)malloc(3 * sizeof(int *)); for (int i = 0; i <3; i++) matrix[i]="(int" *)malloc(3 * sizeof(int)); printf('matrix created using dynamic memory allocation:
'); for (int i="0;" < 3; { j="0;" j++) printf('%d ', matrix[i][j]); } printf('
'); free(matrix[i]); free(matrix); return 0; pre> <p> <strong>Output</strong> </p> <pre> Matrix created using dynamic memory allocation: 0 0 0 0 0 0 0 0 0 </pre> <p>Please note that when using dynamic memory allocation, it&apos;s important to free the memory after use by using free() function, this is to avoid memory leaks.</p> <h3>How to Add Matrix in C</h3> <p>To add two matrices in C programming language, you can use a nested for loop to iterate through each element of the matrices and add the corresponding elements together.</p> <p>Here is an example of adding two matrices of size 3x3:</p> <p> <strong>C Code</strong> </p> <pre> #include int main() { int a[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; int b[3][3] = {{9, 8, 7}, {6, 5, 4}, {3, 2, 1}}; int c[3][3]; int i, j; for (i = 0; i <3; i++) { for (j="0;" j < 3; j++) c[i][j]="a[i][j]" + b[i][j]; } printf('result of addition: 
'); (i="0;" i printf('%d ', c[i][j]); printf('
'); return 0; pre> <p> <strong>Output</strong> </p> <pre> Result of addition: 10 10 10 10 10 10 10 10 10 </pre> <p> <strong>Explanation:</strong> </p> <p>The first for loop is used to iterate through the rows of the matrices, while the second for loop is used to iterate through the columns. Inside the nested for loop, the corresponding elements of the two matrices &apos;a&apos; and &apos;b&apos; are added together and stored in the corresponding element of the matrix &apos;c&apos;.</p> <hr></3;></pre></3;></pre></3;></pre></3;>

2. استخدام حلقة متداخلة

كود ج

 #include int main() { int matrix[3][3]; int i, j; for (i = 0; i <3; i++) { for (j="0;" j < 3; j++) matrix[i][j]="i" + j; } printf(\'matrix created using a nested loop:
\'); (i="0;" i printf(\'%d \', matrix[i][j]); printf(\'
\'); return 0; pre> <p> <strong>Output</strong> </p> <pre> Matrix created using a nested for loop: 0 1 2 1 2 3 2 3 4 </pre> <p> <strong>3. Dynamic Memory Allocation</strong> </p> <p> <strong>C Code</strong> </p> <pre> #include #include int main() { int **matrix; matrix = (int **)malloc(3 * sizeof(int *)); for (int i = 0; i <3; i++) matrix[i]="(int" *)malloc(3 * sizeof(int)); printf(\'matrix created using dynamic memory allocation:
\'); for (int i="0;" < 3; { j="0;" j++) printf(\'%d \', matrix[i][j]); } printf(\'
\'); free(matrix[i]); free(matrix); return 0; pre> <p> <strong>Output</strong> </p> <pre> Matrix created using dynamic memory allocation: 0 0 0 0 0 0 0 0 0 </pre> <p>Please note that when using dynamic memory allocation, it&apos;s important to free the memory after use by using free() function, this is to avoid memory leaks.</p> <h3>How to Add Matrix in C</h3> <p>To add two matrices in C programming language, you can use a nested for loop to iterate through each element of the matrices and add the corresponding elements together.</p> <p>Here is an example of adding two matrices of size 3x3:</p> <p> <strong>C Code</strong> </p> <pre> #include int main() { int a[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; int b[3][3] = {{9, 8, 7}, {6, 5, 4}, {3, 2, 1}}; int c[3][3]; int i, j; for (i = 0; i <3; i++) { for (j="0;" j < 3; j++) c[i][j]="a[i][j]" + b[i][j]; } printf(\'result of addition: 
\'); (i="0;" i printf(\'%d \', c[i][j]); printf(\'
\'); return 0; pre> <p> <strong>Output</strong> </p> <pre> Result of addition: 10 10 10 10 10 10 10 10 10 </pre> <p> <strong>Explanation:</strong> </p> <p>The first for loop is used to iterate through the rows of the matrices, while the second for loop is used to iterate through the columns. Inside the nested for loop, the corresponding elements of the two matrices &apos;a&apos; and &apos;b&apos; are added together and stored in the corresponding element of the matrix &apos;c&apos;.</p> <hr></3;></pre></3;></pre></3;>

3. تخصيص الذاكرة الديناميكية

كود ج

 #include #include int main() { int **matrix; matrix = (int **)malloc(3 * sizeof(int *)); for (int i = 0; i <3; i++) matrix[i]="(int" *)malloc(3 * sizeof(int)); printf(\'matrix created using dynamic memory allocation:
\'); for (int i="0;" < 3; { j="0;" j++) printf(\'%d \', matrix[i][j]); } printf(\'
\'); free(matrix[i]); free(matrix); return 0; pre> <p> <strong>Output</strong> </p> <pre> Matrix created using dynamic memory allocation: 0 0 0 0 0 0 0 0 0 </pre> <p>Please note that when using dynamic memory allocation, it&apos;s important to free the memory after use by using free() function, this is to avoid memory leaks.</p> <h3>How to Add Matrix in C</h3> <p>To add two matrices in C programming language, you can use a nested for loop to iterate through each element of the matrices and add the corresponding elements together.</p> <p>Here is an example of adding two matrices of size 3x3:</p> <p> <strong>C Code</strong> </p> <pre> #include int main() { int a[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; int b[3][3] = {{9, 8, 7}, {6, 5, 4}, {3, 2, 1}}; int c[3][3]; int i, j; for (i = 0; i <3; i++) { for (j="0;" j < 3; j++) c[i][j]="a[i][j]" + b[i][j]; } printf(\'result of addition: 
\'); (i="0;" i printf(\'%d \', c[i][j]); printf(\'
\'); return 0; pre> <p> <strong>Output</strong> </p> <pre> Result of addition: 10 10 10 10 10 10 10 10 10 </pre> <p> <strong>Explanation:</strong> </p> <p>The first for loop is used to iterate through the rows of the matrices, while the second for loop is used to iterate through the columns. Inside the nested for loop, the corresponding elements of the two matrices &apos;a&apos; and &apos;b&apos; are added together and stored in the corresponding element of the matrix &apos;c&apos;.</p> <hr></3;></pre></3;>

يرجى ملاحظة أنه عند استخدام تخصيص الذاكرة الديناميكية، من المهم تحرير الذاكرة بعد الاستخدام باستخدام وظيفة free()، وذلك لتجنب تسرب الذاكرة.

كيفية إضافة مصفوفة في C

لإضافة مصفوفتين في لغة البرمجة C، يمكنك استخدام حلقة for متداخلة للتكرار خلال كل عنصر من عناصر المصفوفات وإضافة العناصر المقابلة معًا.

فيما يلي مثال لإضافة مصفوفتين بحجم 3x3:

كود ج

 #include int main() { int a[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; int b[3][3] = {{9, 8, 7}, {6, 5, 4}, {3, 2, 1}}; int c[3][3]; int i, j; for (i = 0; i <3; i++) { for (j="0;" j < 3; j++) c[i][j]="a[i][j]" + b[i][j]; } printf(\\'result of addition: 
\\'); (i="0;" i printf(\\'%d \\', c[i][j]); printf(\\'
\\'); return 0; pre> <p> <strong>Output</strong> </p> <pre> Result of addition: 10 10 10 10 10 10 10 10 10 </pre> <p> <strong>Explanation:</strong> </p> <p>The first for loop is used to iterate through the rows of the matrices, while the second for loop is used to iterate through the columns. Inside the nested for loop, the corresponding elements of the two matrices &apos;a&apos; and &apos;b&apos; are added together and stored in the corresponding element of the matrix &apos;c&apos;.</p> <hr></3;>

توضيح:

يتم استخدام حلقة for الأولى للتكرار عبر صفوف المصفوفات، بينما يتم استخدام حلقة for الثانية للتكرار عبر الأعمدة. داخل حلقة for المتداخلة، تتم إضافة العناصر المقابلة للمصفوفتين 'a' و'b' معًا وتخزينها في العنصر المقابل للمصفوفة 'c'.