Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Java] Создать двумерный массив типа byte


Автор: Баренцев 28.1.2007, 19:13
Создать двумерный массив типа byte, размером 10Х10, заполнить его как таблицу Пифогора (внутренний элемент таблицы равен произведению первого элемента столбца и строки соответственно). вывести содержимое массива и сумму его элементов на экран.

Сам понять не могу, буду очень признателен если кто поможет...

Автор: V.A.KeRneL 28.1.2007, 22:49
Дарова, Баренцев. Это твоя настоящая фамилия? smile Тогда, какой у тебя знаменитый однофамилец!..

Ну, ладно, если ближе к делу, то: 
1) Нету такого языка программирования Jawa, есть Java. Надо бы заголовок темы исправить. (Это к модерам.)
2) Не стоило расписывать это: «(внутренний элемент таблицы равен произведению первого элемента столбца и строки соответственно)». Всё равно, не понятно какие они сами, эти первые элементы, и что там «соответственно»... Лучше приведи полностью, что должна выводить программа, а мы подгоним под это дело соответствующий код! smile

Автор: Баренцев 28.1.2007, 23:22
Дарова если бы эта фамилия была настоящая, давно бы повесился...

пасиба что ответил!!

короче я понял так что надо бы сделать прогу которая сначала выводила бы на экран массив 10Х10 со случайными элементами внутри а потом приводила бы их к виду типа:

1 1 2 3 1 3 2 1 3 1
2 2 .......................
3 .. 6.....................
2 ..... 6 ................. 
3 ........ 3 ..............
1 ........... 3 ...........
3............... 6 ........
2.................. 2 .....
2 .................... 6 ..
1........................ 1

вместо точек всё равно какие элементы по-моему главное чтобы сохранилась такая закономерность...

а то я ваще в проге не шарю.... косяк короче...

Автор: sergejzr 29.1.2007, 00:21
Цитата(V.A.KeRneL @  28.1.2007,  21:49 Найти цитируемый пост)
Лучше приведи полностью, что должна выводить программа,

Подозреваю, что таблицу Пифагора smile
Код

    byte massiv[][]=new byte[10][10];
    int sum=0, res;
    String format="";
    for(int x=0;x<10;x++)
    {
    for(int y=0;y<10;y++){
        sum+=(res=massiv[x][y]=(byte)((x+1)*(y+1)));
        format=(res<10)?"  "+res:(res<100)?" "+res:""+res;
        
    System.out.print(" "+format);
    }
    System.out.print("\n");
    }
    System.out.println("sum="+sum);    


Автор: Баренцев 29.1.2007, 00:36
слушай sergejzr, пасиба вам громдное!!!

не знаю что бы делал завтра на зачёте... smile  

щас постараюсь разобраться...

пасибки пасибки!!!

Автор: Rav 29.1.2007, 01:01
Заяц не забудь дописать несколько строк, чтоб в конце веглядело приблизительно так:
Код

import java.util.Random;

public class Main
{
  //public static final int ARRAY_SIZE = 10;

  public static void main(String[] args)
  {
    byte massiv[][]=new byte[10][10];
    int sum=0, res;
    String format="";
    for(int x=0;x<10;x++)
    {
    for(int y=0;y<10;y++){
        sum+=(res=massiv[x][y]=(byte)((x+1)*(y+1)));
        format=(res<10)?"  "+res:(res<100)?" "+res:""+res;
        
    System.out.print(" "+format);
    }
    System.out.print("\n");
    }
    System.out.println("sum="+sum);    
  }}

так же создать файл Main.java куда все это скопировать. Скомпилить и запустить. 
Как это сделать обращаься ко мне))).


M
Alexeis
Модератор: правильно используйте подсветку http://forum.vingrad.ru/index.php?showtopic=126445

Автор: V.A.KeRneL 29.1.2007, 02:38
Баренцев, итак, случай с таблицей Пифагора уже разжёван двумя товарищами выше. 
Поэтому давай рассмотрим вариант, который ты описал http://forum.vingrad.ru/topic-134272/0.html#entry1015690.
Код

import java.util.Random;

public class Main 
{ 
    public static final int DIM = 10;
    public static final byte MIN_NUM = 0;
    public static final byte MAX_NUM = 10;
    
    public static void main(String[] args) 
    { 
        byte[][] table = new byte[DIM][DIM];
        Random rnd = new Random();
        int sum = 0;
        byte x;
        
        for (int i = 0; i < DIM; ++i) { 
            table[i][0] = (byte) rnd.nextInt(MAX_NUM - MIN_NUM + 1) + MIN_NUM;
            table[0][i] = (byte) rnd.nextInt(MAX_NUM - MIN_NUM + 1) + MIN_NUM;
        }
        
        for (int i = 1; i < DIM; ++i) { 
            for (int j = 1; j < DIM; ++j) { 
                x = table[i][j] = (byte) (table[i][0] * table[0][j]);
                sum += x;
                String xFmtStr = 
                    " " + ((x < 10) ? "  " : (x < 100) ? " " : "") + x;
                System.out.print(xFmtStr);
            }
            System.out.print("\n");  /*System.out.println();*/
        }
        
        System.out.println("\nsum = " + sum); 
    }
}

Писано всё на коленке сонным человеком, так что не обессудь, если будут ашипки... smile

EDIT: З.Ы. Баренцев, а чё не помеаешь тему решённой?..

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)