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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2014, 13:50   #1
Александр_1с
Пользователь
 
Регистрация: 05.11.2014
Сообщений: 10
По умолчанию Двойственные ЗЛП

нужно составить программу на java, взять любой пример из двойственных задач линейного программирования и записать в java, помогите срочно надо.
Александр_1с вне форума Ответить с цитированием
Старый 07.12.2014, 19:51   #2
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
По умолчанию

Давайте пример и наработки. Посмотрим.
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 16.12.2014, 09:54   #3
Александр_1с
Пользователь
 
Регистрация: 05.11.2014
Сообщений: 10
По умолчанию

нужно транспонировать матрицу заданную в ручную не могу довести до конца
Код:
 public static void main(String[] args) {
           int [][] A;
           A = new int[5][3];
           A[0][0]=Integer.parseInt (JOptionPane.showInputDialog ("Введите 1 элемент матрицы"));
           A[0][1]=Integer.parseInt (JOptionPane.showInputDialog ("Введите 2 элемент матрицы"));
           A[0][2]=Integer.parseInt (JOptionPane.showInputDialog ("Введите 3 элемент матрицы"));
           A[1][0]=Integer.parseInt (JOptionPane.showInputDialog ("Введите 4 элемент матрицы"));
           A[1][1]=Integer.parseInt (JOptionPane.showInputDialog ("Введите 5 элемент матрицы"));
           A[1][2]=Integer.parseInt (JOptionPane.showInputDialog ("Введите 6 элемент матрицы"));
           A[2][0]=Integer.parseInt (JOptionPane.showInputDialog ("Введите 7 элемент матрицы"));
           A[2][1]=Integer.parseInt (JOptionPane.showInputDialog ("Введите 8 элемент матрицы"));
           A[2][2]=Integer.parseInt (JOptionPane.showInputDialog ("Введите 9 элемент матрицы"));
           A[3][0]=Integer.parseInt (JOptionPane.showInputDialog ("Введите 10 элемент матрицы"));
           A[3][1]=Integer.parseInt (JOptionPane.showInputDialog ("Введите 11 элемент матрицы"));
           A[3][2]=Integer.parseInt (JOptionPane.showInputDialog ("Введите 12 элемент матрицы"));
           A[4][0]=Integer.parseInt (JOptionPane.showInputDialog ("Введите 13 элемент матрицы"));
           A[4][1]=Integer.parseInt (JOptionPane.showInputDialog ("Введите 14 элемент матрицы"));
           A[4][2]=Integer.parseInt (JOptionPane.showInputDialog ("Введите 15 элемент матрицы"));
    }
           public static int[][] transposition(int[][] matrix, int m, int n) {
            int[][] result = new int[n][m];
            int i, j;
            for (i = 0; i < m; i++) {
            for (j = 0; j < n; j++) {
                result[j][i] = matrix[i][j];
            }
                result[i][j] = matrix[j][i];
            }
           // System.out.print("Полученный массив: ");
            for ( i=0; i < m; i++) {
                System.out.print("\n");
             for ( j=0; j < n; j++){
                System.out.print(result[i][j] + " ");
        }
         System.out.println();
            }
        return result;
        
    }
Александр_1с вне форума Ответить с цитированием
Старый 16.12.2014, 09:59   #4
Александр_1с
Пользователь
 
Регистрация: 05.11.2014
Сообщений: 10
По умолчанию

задачу вроде бы простую взял, как транспонировать и выполнить пункт 4 не понимаю
Изображения
Тип файла: png 33.PNG (33.6 Кб, 79 просмотров)
Александр_1с вне форума Ответить с цитированием
Старый 18.12.2014, 21:51   #5
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
По умолчанию

Можно было конечно позаниматься выведением этих формул... но
Я вижу это в виде формирования строк (массива строк и вывода их на экран.)

Код:
package ru.bugrimov;

import javax.swing.*;

public class Main {
    public static final int N = 5;
    public static final int M = 3;

    public static void main(String[] args) {
        int [][] arr = new int[N][M];
        int [][] newArray = new int[M][N];
        initArray(arr);
        printArray(arr);
        transpositionArray(arr, newArray);
        printArray(newArray);
    }

    public static void initArray(int [][] arr) {
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr[i].length; j++) {
                arr[i][j] = Integer.parseInt(JOptionPane.showInputDialog("Введите [" + i + "] [" + j + "] элемент:"));
            }
        }
    }

    public static void printArray(int [][] arr) {
        for (int[] anArr : arr) {
            for (int anAnArr : anArr) {
                System.out.print(" [" + anAnArr + "]");
            }
            System.out.println();
        }
        System.out.println();
    }

    public static void transpositionArray(int[][] arr, int [][] newArray) {
        try {
            for (int i = 0; i < N; i++) {
                for (int j = 0; j < M; j++) {
                    newArray[j][i] = arr[i][j];
                }
            }
        } catch (ArrayIndexOutOfBoundsException ex) {
            System.out.println(ex.toString());
        }
    }
}
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 19.12.2014, 10:11   #6
Александр_1с
Пользователь
 
Регистрация: 05.11.2014
Сообщений: 10
По умолчанию

я в своем коде исправил, но в ответе мне нужно как в 4 задание чтоб на экран выводилась строка стремящиеся на минимум и ее ограничения
у меня вот так получилось
Код:
 int[][] A;
        A = new int[5][3];
        A[0][0] = Integer.parseInt(JOptionPane.showInputDialog("Введите 1 элемент матрицы"));
        A[0][1] = Integer.parseInt(JOptionPane.showInputDialog("Введите 2 элемент матрицы"));
        A[0][2] = Integer.parseInt(JOptionPane.showInputDialog("Введите 3 элемент матрицы"));
        A[1][0] = Integer.parseInt(JOptionPane.showInputDialog("Введите 4 элемент матрицы"));
        A[1][1] = Integer.parseInt(JOptionPane.showInputDialog("Введите 5 элемент матрицы"));
        A[1][2] = Integer.parseInt(JOptionPane.showInputDialog("Введите 6 элемент матрицы"));
        A[2][0] = Integer.parseInt(JOptionPane.showInputDialog("Введите 7 элемент матрицы"));
        A[2][1] = Integer.parseInt(JOptionPane.showInputDialog("Введите 8 элемент матрицы"));
        A[2][2] = Integer.parseInt(JOptionPane.showInputDialog("Введите 9 элемент матрицы"));
        A[3][0] = Integer.parseInt(JOptionPane.showInputDialog("Введите 10 элемент матрицы"));
        A[3][1] = Integer.parseInt(JOptionPane.showInputDialog("Введите 11 элемент матрицы"));
        A[3][2] = Integer.parseInt(JOptionPane.showInputDialog("Введите 12 элемент матрицы"));
        A[4][0] = Integer.parseInt(JOptionPane.showInputDialog("Введите 13 элемент матрицы"));
        A[4][1] = Integer.parseInt(JOptionPane.showInputDialog("Введите 14 элемент матрицы"));
        A[4][2] = Integer.parseInt(JOptionPane.showInputDialog("Введите 15 элемент матрицы"));
        transposition(A, 5, 3);
    }
 
    public static int[][] transposition(int[][] A, int m, int n) {
        int[][] result = new int[m][m];
        int i, j;
        for (i = 0; i < m; i++) {
            for (j = 0; j < n; j++) {
                result[j][i] = A[i][j];
            }
     
        }
        // System.out.print("Полученный массив: ");
        for (i = 0; i < n; i++) {
            System.out.print("\n");
            for (j = 0; j < m; j++) {
                System.out.print(result[i][j] + " ");
            }
            System.out.println();
        }
        return result;
 
    }
}
а как вывести я еще не разобрался

Последний раз редактировалось Александр_1с; 19.12.2014 в 10:41.
Александр_1с вне форума Ответить с цитированием
Старый 19.12.2014, 12:08   #7
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,964
По умолчанию

Цитата:
заданную в ручную не могу довести до конца
И дьявол, тебя доведёт до конца и бутылка рома.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 19.12.2014, 19:01   #8
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
По умолчанию

Цитата:
Сообщение от Александр_1с Посмотреть сообщение
а как вывести я еще не разобрался
Но какие-то мысли есть как это можно сделать? Озвучите...
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi. Реализация графического метода ЗЛП Spacemen Помощь студентам 2 08.03.2013 07:37
Преобразование прямой ЗЛП в двойственную(Курсовой) HelloExp Фриланс 3 07.03.2013 07:30
Графический метод решения ЗЛП на Delphi satir_69 Фриланс 5 11.03.2011 21:56
Delphi. графический метод решения ЗЛП neji_666 Помощь студентам 6 14.12.2010 19:27
Графический метод ЗЛП D@RK_DIE$EL Помощь студентам 2 17.07.2010 01:55