Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Alexandr1966
28 / 28 / 2
Регистрация: 17.12.2012
Сообщений: 493
1

Задачи на массивы и на множества

03.06.2013, 14:35. Просмотров 813. Ответов 9
Метки нет (Все метки)

Всем доброго времени суток!!! Друзья, не могли бы мне помочь в решении этих задач. РЕАЛИЗОВАТЬ НУЖНО ВСЕ ЭТО В ECLIPSE JUNO.
1. Составьте программу обмена 1-го и 3-го элемента 5 строки матрицы. ЗАДАЧУ НУЖНО СДЕЛАТЬ не просто с помощью массивов обычных, а с помощью ArrayList.

2. Даны два множеств. Постройте из них следующее множество: A*B-A. ЗАДАЧУ НУЖНО СДЕЛАТЬ c помощью TreeSet.

Вот еще одна задача которую я сам сделал, она вроде как рабочая. А задача состояла вот в чем: "В одномерном массиве поменяйте местами последний элемент с первым, второй с предпоследним и т.д." Ниже код решенной мною задачи:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package Example;
 
import java.util.ArrayList;
import java.util.Scanner;
 
public class Task1 
{
    public static void main(String[] args) 
    {
        System.out.println("Введите кол-во элементов массива:");
        ArrayList a = new ArrayList();
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        System.out.println("Массив:");
        for (int i = 0; i < n; i++)
        {
            a.add((int) (10 + Math.random() * 11));
        }
        System.out.println(a);
        int n1 = n / 2;
        for (int i = 0; i < n1; i++) 
        {
            int x = (int) a.get(i);
            int x1 = (int) a.get(n - i - 1);
            System.out.println(x+ " " + x1);
            a.set(i, x1);
            a.set(n - i - 1, x);
        }
        System.out.println("Новый массив:");
        System.out.println(a);
    }
}
Добавлено через 6 минут
Хотя вот сейчас проверяю еще раз сделанную задачу, а компилятор ругается на нее, говорит что в строках 23 и 24 ошибка, что нельзя ОБЪЕКТ превращать в ЧИСЛО, хотя мне говорили что с помощью (int) можно это сделать... не понимаю что к чему....

Добавлено через 2 часа 23 минуты
Ребят, может кто-нибудь подскажет как реализовать, позарез нужно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2013, 14:35
Ответы с готовыми решениями:

Рассматривая массивы как конечные множества целых чисел, построить массив размером не более 2n
Даны значения двух целочисленных массивов x и y размером n. Рассматривая...

Массивы и работа со строкой в Java. Задачи
Доброго времени суток. Прошу помощи в решении задачек на Java: 1)Найти сумму...

Задачи на множества
Из диопозона целых чисел m..n выделить. 1)множество целых чисел, деляшихся без...

Задачи на множества
1. Задано множество вычислительных машин, которыми может быть обеспечен...

2 задачи на МНОЖЕСТВА
1. Известны марки машин, изготовляемых в данной стране и импортируемых за...

9
Gibby
152 / 152 / 10
Регистрация: 16.10.2012
Сообщений: 354
Записей в блоге: 1
03.06.2013, 18:30 2
Для первой задачи:

Class Main
Java
1
2
3
4
5
6
7
8
9
public class Main {
    public static void main(String args[]) {
        Matrix m = new Matrix(5, 5);
        m.fillRandom(0, 100);
        System.out.println(m);
        m.swapElemenets(2, 2, 3, 3);
        System.out.println(m);
    }
}


Class Matix
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
import java.util.ArrayList;
import java.util.Random;
 
public class Matrix {
    private ArrayList<ArrayList<Integer>> rows;
    private int mRowCount, mColumnCount;
    private int mPrintSize = 0;
    
    /**
     * Initialize matrix with 0 values
     * Initialize mRowCount and mColumnCount variables
     * @param rowCount
     * @param columnCount 
     */
    public Matrix(int rowCount, int columnCount) {
        rows = new ArrayList<>();
        mRowCount = rowCount;
        mColumnCount = columnCount;
        
        for (int i = 0; i < rowCount; i++) {
            ArrayList<Integer> row = new ArrayList<>();
            for (int j = 0; j < columnCount; j++) {
                row.add(0);
            }
            rows.add(row);
        }
    }
    
    /**
     * Fill Matrix with random values 
     * @param from random values from
     * @param to random values to
     */
    public void fillRandom(int from, int to) {
        mPrintSize = (int)Math.log10(to) + 1;
        
        Random randomizer = new Random();
        randomizer.setSeed(System.nanoTime());
                
        for (int i = 0; i < mRowCount; i++) {
            ArrayList<Integer> row = rows.get(i);
            for (int j = 0; j < mColumnCount; j++) {
                //TODO: update null
                int randomInt = randomizer.nextInt(to - from) + from;
                row.set(j, randomInt);
            }
        }
    }  
    
    /**
     * Get matrix element
     * @param i row
     * @param j column
     * @return element value
     * @throws ArrayIndexOutOfBoundsException 
     */
    public int getValue(int i, int j) throws ArrayIndexOutOfBoundsException {
        if (i > mRowCount || j > mColumnCount || i < 0 || j < 0) 
            throw new ArrayIndexOutOfBoundsException();
        
        return rows.get(i).get(j);
    }
    
    public void swapElemenets(int i1, int j1, int i2, int j2) 
            throws ArrayIndexOutOfBoundsException {
        if (i1 > mRowCount || 
                i2 > mRowCount ||
                j1 > mColumnCount ||
                j2 > mColumnCount ||
                i1 < 0 ||
                i2 < 0 ||
                j1 < 0 ||
                j2 < 0) 
            throw new ArrayIndexOutOfBoundsException();
        
        int val1 = rows.get(i1).get(j1);
        int val2 = rows.get(i2).get(j2);
        rows.get(i1).set(i1, val2);
        rows.get(i2).set(i2, val1);
    }
    
    @Override
    public String toString() {
        String print = "";
        
        for (int i = 0; i < mRowCount; i++) {
            for (int val : rows.get(i)) {
                print += String.format("%-" + mPrintSize + "d", val);
            }
            print += "\n";
        }
        return print;
    }
}


Правда, вряд ли кто поверит, что вы это сделали сами, но, в любом случае, инджой.
Можете попробовать разобраться в том, что происходит.
1
Alexandr1966
28 / 28 / 2
Регистрация: 17.12.2012
Сообщений: 493
04.06.2013, 03:40  [ТС] 3
Это действительно как то сложно реализовано(((
А попроще разве никак не получится сделать данную задачу? просто реально вряд ли кто поверит(
0
Gibby
152 / 152 / 10
Регистрация: 16.10.2012
Сообщений: 354
Записей в блоге: 1
04.06.2013, 09:45 4
Ну, разберитесь как сделано и "творчески переосмыслите". Должна же и ваша работа тут какая-то быть.


Обычно отличительными признаками будущих квалифицированных программистов, полгода изучающих Java, является:
  • полное игнорирование ООП,
  • запихивание всех инструкций в один класс Main, а иногда и в один метод public static void main(String args[]) {},
  • полное отсутствие проверок,
  • неинформативные, написанные транслитом с игнорированием всех существующих стандартов имена переменных
  • отступы строк, хаотичность которых делает их отличным источником истинно случайных чисел.

Вроде ничего не забыл.
0
AckiyBolt
649 / 398 / 35
Регистрация: 19.02.2013
Сообщений: 1,072
Записей в блоге: 2
04.06.2013, 10:00 5
вы забыли про сравнивание строк через == и полное игнорирование чект эксепшенов
0
Gibby
152 / 152 / 10
Регистрация: 16.10.2012
Сообщений: 354
Записей в блоге: 1
04.06.2013, 10:07 6
Жаль тут компилятор не дает написать
Java
1
if (foo = bar) { ... }
На C++ у меня получались такие замечательные баги в связи с этим.
0
mutagen
2565 / 2238 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
04.06.2013, 10:18 7
и самое красивое
Java
1
2
3
4
Boolean var = null;
if(var) {
  // oops
}
0
Alexandr1966
28 / 28 / 2
Регистрация: 17.12.2012
Сообщений: 493
04.06.2013, 13:15  [ТС] 8
Друзья, ну я честно вообще не могу разобраться во всем этом, мне бы только это сделать бы, эти две задачи простым каким нибудь способом и всего лишь))) помогите, будьте любезны а, буду очень признателен и буду знать что на свете есть добрые люди)))
0
Gibby
152 / 152 / 10
Регистрация: 16.10.2012
Сообщений: 354
Записей в блоге: 1
04.06.2013, 13:41 9
У меня есть встречное предложение — давай ты разберешься во всем сам и я буду знать, что на свете есть студенты, которые учатся не на отвали)))
0
Alexandr1966
28 / 28 / 2
Регистрация: 17.12.2012
Сообщений: 493
04.06.2013, 15:20  [ТС] 10
В целом то я на отвали не учусь таки, просто конкретно вот с java столкнулся с этим и ничего не получается. Дружище, если ты реально знаешь как реализовать, будь другом, помоги бедному студенту)
0
04.06.2013, 15:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.06.2013, 15:20

Множества, массивы.
Добрый вечер всем! У меня такая проблема, в институте дали задачку, немогу...

множества и массивы
Привет. Пишу на С++, но попросили написать программку на Pascal-е. Вот вопрос:...

Задачи на строки, множества.
Помогите пожалуйста с задачами 1) Ввести строку из нескольких слов....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru