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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2012, 12:45   #1
Nordbank
Пользователь
 
Регистрация: 23.12.2010
Сообщений: 26
По умолчанию Java массив

Сгенерировать матрицу вещественных чисел при помощи генератора случайных чисел. Вычислить количество положительных элементов матрицы и разделить на него все элементы, раннимеемные в заштрихованной области. Сформировать из полученных элементов заштрихованной области массив и отсортировать его. ПОМОГИТЕ ПОЖАЛУЙСТА!! Заштрихованная область - вводим I1, I2, J1, J2 с клавиатуры, и то что область между этими значениями - Незаштрихованная
Nordbank вне форума Ответить с цитированием
Старый 26.01.2012, 13:03   #2
AlexDark
Форумчанин
 
Аватар для AlexDark
 
Регистрация: 23.12.2011
Сообщений: 117
По умолчанию

Цитата:
Вычислить количество положительных элементов матрицы и разделить на него все элементы, раннимеемные в заштрихованной области
А теперь глубоко вдохните и помедленнее...
1)раннимеемные??? расположенные что-ли?
2) разделить на него... раздлить элементы в подматрице("заштрихованной") на вычисленное количество положительных элементов ?
AlexDark вне форума Ответить с цитированием
Старый 26.01.2012, 13:27   #3
Nordbank
Пользователь
 
Регистрация: 23.12.2010
Сообщений: 26
По умолчанию

Цитата:
Сообщение от AlexDark Посмотреть сообщение
А теперь глубоко вдохните и помедленнее...
1)раннимеемные??? расположенные что-ли?
2) разделить на него... раздлить элементы в подматрице("заштрихованной") на вычисленное количество положительных элементов ?
1. Да 2. Да
Nordbank вне форума Ответить с цитированием
Старый 26.01.2012, 13:54   #4
AlexDark
Форумчанин
 
Аватар для AlexDark
 
Регистрация: 23.12.2011
Сообщений: 117
По умолчанию

Ну на... допилишь если че =)

Код:
package javaapplication1;
import java.util.Random;
import java.util.Scanner;

public class JavaApplication1 {

    public static void main(String[] args) {
        int A,B;
        Scanner in = new Scanner (System.in);
        Random rnd = new Random();
        System.out.println("Enter row quanity");
        A = in.nextInt();
        System.out.println("Enter column quanity");
        B = in.nextInt();
        
        double Matrix[][] = new double[A][B];
        int i1,i2,j1,j2;
        
        
        System.out.println("Enter i1, j1");
        i1 = in.nextInt();
        j1 = in.nextInt();
        System.out.println("Enter i2, j2");
        i2 = in.nextInt();
        j2 = in.nextInt();
        
        for(int i=0; i<A ; i++)
            for(int j=0; j<B; j++)
                Matrix[i][j] = rnd.nextDouble()*100;
        
        System.out.println("Generated matrix :");
        for(int i=0; i<A ; i++)
        {System.out.println();
            for(int j=0; j<B; j++)
               System.out.print( Matrix[i][j] + "  ");}
        
        int Positives=0;
         for(int i=0; i<A ; i++)
            for(int j=0; j<B; j++)
                if(Matrix[i][j]>0) Positives++;
         
        for(int i=0; i<A ; i++)
            for(int j=0; j<B; j++)
                if((i<i1 || i>i2) && (j<j1||j>j2))
                Matrix[i][j] /= Positives;
        
        System.out.println("New matrix :");
        for(int i=0; i<A ; i++)
        {  System.out.println();
            for(int j=0; j<B; j++)
               System.out.print( Matrix[i][j] + "  ");}      
    }
}
AlexDark вне форума Ответить с цитированием
Старый 26.01.2012, 14:44   #5
Nordbank
Пользователь
 
Регистрация: 23.12.2010
Сообщений: 26
По умолчанию

Цитата:
Сообщение от AlexDark Посмотреть сообщение
Ну на... допилишь если че =)

Код:
package javaapplication1;
import java.util.Random;
import java.util.Scanner;

public class JavaApplication1 {

    public static void main(String[] args) {
        int A,B;
        Scanner in = new Scanner (System.in);
        Random rnd = new Random();
        System.out.println("Enter row quanity");
        A = in.nextInt();
        System.out.println("Enter column quanity");
        B = in.nextInt();
        
        double Matrix[][] = new double[A][B];
        int i1,i2,j1,j2;
        
        
        System.out.println("Enter i1, j1");
        i1 = in.nextInt();
        j1 = in.nextInt();
        System.out.println("Enter i2, j2");
        i2 = in.nextInt();
        j2 = in.nextInt();
        
        for(int i=0; i<A ; i++)
            for(int j=0; j<B; j++)
                Matrix[i][j] = rnd.nextDouble()*100;
        
        System.out.println("Generated matrix :");
        for(int i=0; i<A ; i++)
        {System.out.println();
            for(int j=0; j<B; j++)
               System.out.print( Matrix[i][j] + "  ");}
        
        int Positives=0;
         for(int i=0; i<A ; i++)
            for(int j=0; j<B; j++)
                if(Matrix[i][j]>0) Positives++;
         
        for(int i=0; i<A ; i++)
            for(int j=0; j<B; j++)
                if((i<i1 || i>i2) && (j<j1||j>j2))
                Matrix[i][j] /= Positives;
        
        System.out.println("New matrix :");
        for(int i=0; i<A ; i++)
        {  System.out.println();
            for(int j=0; j<B; j++)
               System.out.print( Matrix[i][j] + "  ");}      
    }
}
новая матрица ничем не отличается от сгенерированной
Nordbank вне форума Ответить с цитированием
Старый 26.01.2012, 15:09   #6
AlexDark
Форумчанин
 
Аватар для AlexDark
 
Регистрация: 23.12.2011
Сообщений: 117
По умолчанию

Цитата:
Сообщение от Nordbank Посмотреть сообщение
новая матрица ничем не отличается от сгенерированной
Оно же изменяет значения которые находятся за пределами i1,j1 i2,j2.

например при M[3][3] i,j =1,1,2,2. изменится только M[0][0]
AlexDark вне форума Ответить с цитированием
Старый 26.01.2012, 15:13   #7
Nordbank
Пользователь
 
Регистрация: 23.12.2010
Сообщений: 26
По умолчанию

Можете из элементов заштрихованной области создать одномерный массив еще и отсортировать пузырьком?
Nordbank вне форума Ответить с цитированием
Старый 26.01.2012, 15:18   #8
Nordbank
Пользователь
 
Регистрация: 23.12.2010
Сообщений: 26
По умолчанию

Цитата:
Сообщение от AlexDark Посмотреть сообщение
Оно же изменяет значения которые находятся за пределами i1,j1 i2,j2.

например при M[3][3] i,j =1,1,2,2. изменится только M[0][0]
да, спасибо большое, с этим порядок
Nordbank вне форума Ответить с цитированием
Старый 26.01.2012, 15:43   #9
AlexDark
Форумчанин
 
Аватар для AlexDark
 
Регистрация: 23.12.2011
Сообщений: 117
По умолчанию

С тебя пиво)
Кстати лажанул я с условием, проверки области, присмотрелся исправил

Код:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


package javaapplication1;
import java.util.Random;
import java.util.Scanner;

public class JavaApplication1 {
    
static void swap(double[] arr, int i, int j) {
    double t = arr[i];
    arr[i] = arr[j];
    arr[j] = t;
}
 
static void bubblesort(double[] arr){
    for(int i = arr.length-1 ; i >= 0 ; i--){
        for(int j = 0 ; j < i ; j++){
            if( arr[j] > arr[j+1] )
               swap(arr, j, j+1);
        }
    }
}
    public static void main(String[] args) {
        int A,B;
        Scanner in = new Scanner (System.in);
        Random rnd = new Random();
        System.out.println("Enter row quanity");
        A = in.nextInt();
        System.out.println("Enter column quanity");
        B = in.nextInt();
        
        double Matrix[][] = new double[A][B];
        int i1,i2,j1,j2;
        
        
        System.out.println("Enter i1, j1");
        i1 = in.nextInt();
        j1 = in.nextInt();
        System.out.println("Enter i2, j2");
        i2 = in.nextInt();
        j2 = in.nextInt();
        
        for(int i=0; i<A ; i++)
            for(int j=0; j<B; j++)
                Matrix[i][j] = rnd.nextDouble()*100;
        
        System.out.println("Generated matrix :");
        for(int i=0; i<A ; i++)
        {System.out.println();
            for(int j=0; j<B; j++)
               System.out.print( Matrix[i][j] + "  ");}
        
        int Positives=0;
         for(int i=0; i<A ; i++)
            for(int j=0; j<B; j++)
                if(Matrix[i][j]>0) Positives++;
         
        for(int i=0; i<A ; i++)
            for(int j=0; j<B; j++)
                if((i<i1 || j<j1) || (i>i2 || j>j2))
                Matrix[i][j] /= Positives;
        
        System.out.println();
        System.out.println("New matrix :");
        for(int i=0; i<A ; i++)
        {  System.out.println();
            for(int j=0; j<B; j++)
               System.out.print( Matrix[i][j] + "  ");} 
        
        int ArrSize = A*B - ((i2-i1+1) * (j2-j1+1) );
        double Array[] = new double [ArrSize];
        int k=0;
        for(int i=0; i<A ; i++)
            for(int j=0; j<B; j++)
                if((i<i1 || j<j1) || (i>i2 || j>j2))
                {Array[k] = Matrix[i][j];  k++; }
        
        bubblesort(Array);
        System.out.println();
        System.out.println("Sorted array :");
        for(int i=0;i<Array.length;i++)
            System.out.print(Array[i]+"  ");
    }
}
AlexDark вне форума Ответить с цитированием
Старый 26.01.2012, 19:20   #10
Nordbank
Пользователь
 
Регистрация: 23.12.2010
Сообщений: 26
Счастье

Цитата:
Сообщение от AlexDark Посмотреть сообщение
С тебя пиво)
Кстати лажанул я с условием, проверки области, присмотрелся исправил

Код:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


package javaapplication1;
import java.util.Random;
import java.util.Scanner;

public class JavaApplication1 {
    
static void swap(double[] arr, int i, int j) {
    double t = arr[i];
    arr[i] = arr[j];
    arr[j] = t;
}
 
static void bubblesort(double[] arr){
    for(int i = arr.length-1 ; i >= 0 ; i--){
        for(int j = 0 ; j < i ; j++){
            if( arr[j] > arr[j+1] )
               swap(arr, j, j+1);
        }
    }
}
    public static void main(String[] args) {
        int A,B;
        Scanner in = new Scanner (System.in);
        Random rnd = new Random();
        System.out.println("Enter row quanity");
        A = in.nextInt();
        System.out.println("Enter column quanity");
        B = in.nextInt();
        
        double Matrix[][] = new double[A][B];
        int i1,i2,j1,j2;
        
        
        System.out.println("Enter i1, j1");
        i1 = in.nextInt();
        j1 = in.nextInt();
        System.out.println("Enter i2, j2");
        i2 = in.nextInt();
        j2 = in.nextInt();
        
        for(int i=0; i<A ; i++)
            for(int j=0; j<B; j++)
                Matrix[i][j] = rnd.nextDouble()*100;
        
        System.out.println("Generated matrix :");
        for(int i=0; i<A ; i++)
        {System.out.println();
            for(int j=0; j<B; j++)
               System.out.print( Matrix[i][j] + "  ");}
        
        int Positives=0;
         for(int i=0; i<A ; i++)
            for(int j=0; j<B; j++)
                if(Matrix[i][j]>0) Positives++;
         
        for(int i=0; i<A ; i++)
            for(int j=0; j<B; j++)
                if((i<i1 || j<j1) || (i>i2 || j>j2))
                Matrix[i][j] /= Positives;
        
        System.out.println();
        System.out.println("New matrix :");
        for(int i=0; i<A ; i++)
        {  System.out.println();
            for(int j=0; j<B; j++)
               System.out.print( Matrix[i][j] + "  ");} 
        
        int ArrSize = A*B - ((i2-i1+1) * (j2-j1+1) );
        double Array[] = new double [ArrSize];
        int k=0;
        for(int i=0; i<A ; i++)
            for(int j=0; j<B; j++)
                if((i<i1 || j<j1) || (i>i2 || j>j2))
                {Array[k] = Matrix[i][j];  k++; }
        
        bubblesort(Array);
        System.out.println();
        System.out.println("Sorted array :");
        for(int i=0;i<Array.length;i++)
            System.out.print(Array[i]+"  ");
    }
}
Спасибо огромное на троечку я нарешал=)
Nordbank вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
чтение файла в массив строк java (Перенесено из Java SE) Sasha9132 Помощь студентам 0 18.11.2010 22:57
Массив в таблицу Java Dim2 Общие вопросы по Java, Java SE, Kotlin 4 18.11.2009 09:31
Запись в массив Java FreshBreeze Общие вопросы по Java, Java SE, Kotlin 1 28.10.2009 19:40
Массив на Java Claster Общие вопросы по Java, Java SE, Kotlin 2 03.10.2009 21:03
Динамический массив в Java PavelZet Помощь студентам 0 11.05.2009 16:45