ورود

View Full Version : سوال: آدرس دهی در ماتریس



forogh68
چهارشنبه 07 بهمن 1394, 00:00 صبح
سلام دوستان. وقت بخیر.
چطور می تونم وقتی یک ماتریس تعریف می کنم، بیام و آدرس تک تک عددهاش رو بنویسم؟
یعنی فرض کنید ماتریس 2 در 3 داشته باشم و بخوام بگم فرضا سطر 2 و ستون 3 عدد 45 هست؟ همچنین اینکه کاربر هم خودش اعداد رو وارد می کنه و هم اندازه ماتریس رو گه چند در چند باشه.

محمد فدوی
چهارشنبه 14 بهمن 1394, 11:56 صبح
خیلی ساده تعداد سطر (rows) و ستون (columns) رو از کاربر دریافت می‌کنید و باتوجه به چیزی که نیاز دارید ماتریس رو می‌سازید.. در حالت پایه، یه ماتریس رو می‌شه به صورت یک آرایهٔ دوبعدی در نظر گرفت:
int rows = ...;
int columns = ...;

double[][] matrix = new double[rows][columns];

double[3][2] = 1.0;
اگه جزئیات بیشتری رو معلوم کنید بیشتر هم می‌شه راهنمایی کرد.

forogh68
یک شنبه 25 بهمن 1394, 15:57 عصر
خیلی ساده تعداد سطر (rows) و ستون (columns) رو از کاربر دریافت می‌کنید و باتوجه به چیزی که نیاز دارید ماتریس رو می‌سازید.. در حالت پایه، یه ماتریس رو می‌شه به صورت یک آرایهٔ دوبعدی در نظر گرفت:
int rows = ...;
int columns = ...;

double[][] matrix = new double[rows][columns];

double[3][2] = 1.0;

اگه جزئیات بیشتری رو معلوم کنید بیشتر هم می‌شه راهنمایی کرد.

ممنونم ازتون. من اینجا رو همین الان دیدم ....
ببخشید یک مقدار از کد نوشته شده، میشه در ادامه روندش بهم کمک کنید:

ahmad.mo74
دوشنبه 09 فروردین 1395, 06:47 صبح
سلام.

اگر میخواید که کاربر خودش اندازه ماتریس رو مشخص کنه و اعداد رو هم خودش وارد کنه باید ورودی کاربر رو بگیرید.
مثلا با کلاس java.util.Scanner میتونید اینکارو بکنید :


import java.util.Arrays;
import java.util.Scanner;


public class Matrix {


public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);


System.out.print("rows = ");
int rows = scanner.nextInt();


System.out.print("columns = ");
int columns = scanner.nextInt();


int matrix[][] = new int[rows][columns];


for (int i = 0; i < rows; i++) {
for (int j = 0; j < columns; j++) {
System.out.printf("matrix[%d][%d] = ", i, j);
matrix[i][j] = scanner.nextInt();
}
}


System.out.println("matrix :");
for (int[] row : matrix) {
System.out.println(Arrays.toString(row));
}


scanner.close();
}


}




البته منظور دوستمون هم از




double[3][2] = 1.0;



این بوده


matrix[3][2] = 1.0;