Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2010, 21:56   #1
Syltan
Заблокирован
 
Регистрация: 27.08.2009
Сообщений: 569
По умолчанию 2-мерные масивы

Вот на с++ чтоб сгенерировать случайные числа, и заполнить ими 2-мерный масив, нужно написать так:
Код:
#include <iostream>
#include <conio.h>
#include <string.h>
#include <time.h>
#include <iomanip>
using namespace std;

int main()
{
    int mas[5][5];
    int i, j;
    
    srand(time(NULL));
    
    for (i = 0; i <5; i++)
	{
		 cout<<endl;

	      for (j = 0; j < 5; j++)
        {
			//Случайное число от -5 до 10
            mas[i][j] = -5 + rand() % 100;
		
			cout<<setw(5)<<mas[i][j]<<setw(5);
		}
	}

		cin.get();    

}


Пробывал на Яве, так и не вышло сделать так же само.
пробовал так:
Код:
package proga8;
import java.math.*;
public class Main {
 public static void main(String... args) {
System.out.println("Програма №8");
int [][] d = new int[5][3];
for(int i1=0; i1<6; i1++)
{ System.out.println();
    for (int i2=0; i2<4; i2++)
             {
        System.out.print(d[i1][i2]+" ");

             }
};

 }
}
Syltan вне форума Ответить с цитированием
Старый 17.05.2010, 22:20   #2
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

Код:
public class Test {

	public static void main(String[] args) {
		int [][]matr = new int[5][5];
		Random rand = new Random();
		
		for(int i = 0; i < 5; i++)
			for(int j = 0; j < 5; j++)
				matr[i][j] = Math.abs(rand.nextInt()) % 10;
		
		for(int i = 0; i < 5; i++){
			for(int j = 0; j < 5; j++)
				System.out.print(matr[i][j] + " ");
			System.out.print("\n");
		}
	}

}
profi вне форума Ответить с цитированием
Старый 17.05.2010, 22:25   #3
Syltan
Заблокирован
 
Регистрация: 27.08.2009
Сообщений: 569
По умолчанию

Спасибо. Меня интересует вот эта строка.
Код:
Math.abs(rand.nextInt()) % 10;
Расшифруйте её. Ещё вопрос, а если мне нужно сгенерировать в диапазоне с -123.....5000
Как тогда быть?

Последний раз редактировалось Syltan; 17.05.2010 в 22:29.
Syltan вне форума Ответить с цитированием
Старый 17.05.2010, 22:34   #4
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

Цитата:
а если мне нужно сгенерировать в диапазоне с -123.....5000
Код:
matr[i][j] = -123 + Math.abs(rand.nextInt()) % 5000;
Код:
Math.abs(rand.nextInt()) % 10;
Тут генерируем числа от 0 до 9.
profi вне форума Ответить с цитированием
Старый 17.05.2010, 22:44   #5
Syltan
Заблокирован
 
Регистрация: 27.08.2009
Сообщений: 569
По умолчанию

Почему знак такой "%", зачем он нужен?
Почему не просто разделить на 10?
Зачем нужен пакет import java.util.*;?
Что такое вообще пакет, просто я так и не понял, что именно означает и почему назвали пакет.
Почему имено так?
(5000+123)-123);

Ещё вопрос как сделать ровно 5 пробелов расстояние между цифрами?

Ещё, как сгенерировать не цифры а буквы?

Последний раз редактировалось Syltan; 18.05.2010 в 01:23.
Syltan вне форума Ответить с цитированием
Старый 18.05.2010, 02:36   #6
Pliks
Пользователь
 
Регистрация: 20.11.2009
Сообщений: 46
По умолчанию

% - округляем число до целого.
Runtime.getRuntime().gc() ява - один из самых чистых языков.
Pliks вне форума Ответить с цитированием
Старый 18.05.2010, 02:40   #7
Pliks
Пользователь
 
Регистрация: 20.11.2009
Сообщений: 46
По умолчанию

Цитата:
Сообщение от Syltan Посмотреть сообщение
Зачем нужен пакет import java.util.*;?
Что такое вообще пакет, просто я так и не понял, что именно означает и почему назвали пакет.
это стандартный пакет, содержит много полезных классов.
Runtime.getRuntime().gc() ява - один из самых чистых языков.
Pliks вне форума Ответить с цитированием
Старый 19.05.2010, 00:26   #8
profi
Участник клуба Подтвердите свой е-майл
 
Регистрация: 19.11.2007
Сообщений: 1,022
По умолчанию

Операция % - это остаток от деления.

Цитата:
Зачем нужен пакет import java.util.*;?
Читаем http://java.sun.com/j2se/1.4.2/docs/...e-summary.html . Учимся пользоваться справкой .
Цитата:
Ещё, как сгенерировать не цифры а буквы?
Код:
import java.util.*;

public class Test {

	public static void main(String[] args) {
			char []mas_ch={'a', 'b', 'c', 'd'};
			Random rand = new Random();
			int i = Math.abs(rand.nextInt()) % 4;
			System.out.println(mas_ch[i]);
		}
}
P.S. Вообще начни лучше читать книгу по Java .

Последний раз редактировалось profi; 19.05.2010 в 00:29.
profi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pascal(2-мерные массивы) МасловЕвгений Помощь студентам 5 30.03.2010 18:40
Двух мерные массивы в СИ Deniska112 Общие вопросы C/C++ 23 08.06.2009 17:54
Конкурс им. Парсифаля - н-мерные массивы. Парсифаль Общие вопросы C/C++ 32 08.05.2009 02:06
2-х мерные массивы (С++) TheWanderer Помощь студентам 5 05.12.2008 14:35
помогите в QBasic'е 2-мерные массивы Sergmodern Помощь студентам 1 05.06.2007 08:39