تحديات برمجيةالتحدي الرابع - حل التمرين الخامس بلغة جافا
المطلوب
أكتب برنامج يعرّف مصفوفة إسمها matrix
تتألف من 3 أسطر و 3 أعمدة.
بعدها يطلب من المستخدم إدخال عدد صحيح لكل عنصر فيها.
بعدها يعرض للمستخدم جميع القيم التي أصبحت تحتويها بشكل مرتب.
بعدها يقوم بتخزين جميع القيم الموجودة في المصفوفة matrix
بداخل مصفوفة أحادية ( ذات بعد واحد ) إسمها array
.
في الأخير, يعرض للمستخدم جميع القيم التي أصبحت تحتويهم المصفوفة array
على سطر واحد مع وضع مسافة فارغة بين كل قيمتين.
الحل بلغة جافا
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); int rows = 3; int cols = 3; int[][] matrix = new int[rows][cols]; int[] array = new int[rows * cols]; for (int i = 0; i < rows; i++) { for (int j = 0; j < cols; j++) { System.out.print("Enter matrix[" + i + "][" + j +"]: "); matrix[i][j] = input.nextInt(); } } System.out.println("\nMatrix values"); for (int i = 0; i < rows; i++) { for (int j = 0; j < cols; j++) { System.out.print(matrix[i][j] + " "); } System.out.println(); } for (int i = 0; i < rows; i++) { for (int j = 0; j < cols; j++) { array[j + (i * cols)] = matrix[i][j]; } } System.out.println("\nArray values"); for (int i = 0; i < array.length; i++) { System.out.print(array[i] + " "); } System.out.println(); } }
سنحصل على النتيجة التالية في حال تم إدخال نفس القيم التي تم تعليمها باللون الأصفر عند التشغيل.
Enter matrix[0][1]: 2
Enter matrix[0][2]: 3
Enter matrix[1][0]: 4
Enter matrix[1][1]: 5
Enter matrix[1][2]: 6
Enter matrix[2][0]: 7
Enter matrix[2][1]: 8
Enter matrix[2][2]: 9
Matrix values
1 2 3
4 5 6
7 8 9
Array values
1 2 3 4 5 6 7 8 9