Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
14 / 14 / 1
Регистрация: 24.03.2012
Сообщений: 238

Запись из массива размером n в массив размер n-1

02.04.2014, 14:55. Показов 1069. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Как можно из массива размером n записать данные в массив размером n-1 выкинув какую то конкретную цифру и первого массива?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.04.2014, 14:55
Ответы с готовыми решениями:

Из массива Х размером nx, сформировать массив Y размером ny, что бы элементы из массива X не повторялись в Y
Вот что получилось, но почему-то не удаляет повторяющиеся элементы mov esi,0 mov ecx,nx mov ebx,0 C1: push ecx...

Нужно реализовать постоянную перезапись массива с размером на 1 больше (не как у меня изначальный размер 99)
#include<iostream> #include<string> using namespace std; string GENRE = { "Боевик","Вестерн","Гангстерский...

Из массива размером 10, сформировать два массива размера 5, включая в первый массив четные элементы исх. массива, а во второй - нечетные
Из массива размером 10, сформировать два массива размера 5, включая в первый массив четные элементы исх. массива, а во второй - нечетные

5
 Аватар для IVIakCollideR
40 / 40 / 14
Регистрация: 26.12.2013
Сообщений: 309
02.04.2014, 15:37
можно и в цикле записать в новый массив n-1, сделав continue на нужном индексе или числе
0
61 / 61 / 19
Регистрация: 06.09.2013
Сообщений: 236
Записей в блоге: 1
02.04.2014, 17:20
Вот метод. Аргументы вводите - целочисленный массив и элемент, который хотите удалить. Работает так: перебирает элементы, начиная с индекса элемента, который нужно удалить, далее просто меняет местами эти элементы, выводя число, которое нужно удалить, на последний индекс, далее мы просто создаем еще один целочисленный массив с размером (размер исходного - 1) и присваиваем ему все значения элементов массива исходного (последний элемент, который мы хотим удалить, не будет присвоен никакому значению переменной в возвращаемом массиве).

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
 public static int[] getArrayShorter(int[] arr, int elem) {
        int index = 0;
        int tmp;
        if(arr.length != 0) {
            for(int i = 0; i < arr.length; i++) {
                if(arr[i] == elem) {
                    index = i;
                }
            }
 
            for(int i = index; i < arr.length; i++) {
                if((i + 1) < arr.length) {
                    tmp = arr[i];
                    arr[i] = arr[i + 1];
                    arr[i + 1] = tmp;
                }
            }
 
            int[] result = new int[arr.length - 1];
            for(int i = 0; i < result.length; i++) {
                result[i] = arr[i];
            }
 
            return result;
        }
 
        return null;
    }
0
 Аватар для IVIakCollideR
40 / 40 / 14
Регистрация: 26.12.2013
Сообщений: 309
02.04.2014, 18:40
Цитата Сообщение от IVIakCollideR Посмотреть сообщение
можно и в цикле записать в новый массив n-1, сделав continue на нужном индексе или числе
Например удаление по индексу с записью в n-1:
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
public class DemMass{
    public static void main(String[] args) {
        
        int n = 5;
 
        int first[] = new int[n];
        first[0]=10;
        first[1]=20;
        first[2]=30;
        first[3]=40;
        first[4]=50;
        
        int deleteIndex = 3;
        int second[] = new int[n-1];
        
        for(int i=0,k=0;i<first.length;i++){
            if(i==deleteIndex){
                continue;
            }
            second[k]=first[i];
            System.out.println("first["+k+"] = "+second[k]);
            k++;
        }
        System.out.println("Длина второго массива : " + second.length);
        System.out.println("Удаленное число : " + first[deleteIndex]);
    }
}
0
61 / 61 / 19
Регистрация: 06.09.2013
Сообщений: 236
Записей в блоге: 1
02.04.2014, 19:04
@IVIakCollideR: Статик код - не всегда хорошо. Лучше работать с переменными/ссылками, которые пользователь введет в аргумент - они могут принимать любые значения (естественно, если это учтено в самом методе).
0
 Аватар для IVIakCollideR
40 / 40 / 14
Регистрация: 26.12.2013
Сообщений: 309
02.04.2014, 21:25
Цитата Сообщение от Freedomen Посмотреть сообщение
Статик код - не всегда хорошо.
В ТЗ об этом ни слова.
по просьбам нуждающихся добавляем 1 строчку кода и радуемся жизни
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public void go(int[] first, int deleteIndex) {//передаем массив и индекс елемента который будем удалять
    
if (deleteIndex < first.length & deleteIndex > -1) {//проверяем корректность введенных данных
    int n = first.length;
    int second[] = new int[n - 1];
 
    for (int i = 0, k = 0; i < first.length; i++) {
        if (i == deleteIndex) {
            continue;
        }
        second[k] = first[i];
        System.out.println("first[" + k + "] = " + second[k]); //получаем наш новый массив размером n-1
        k++;
    }
    System.out.println("Длина второго массива : " + second.length); //смотрим длину нового массива
    System.out.println("Удаленное число : " + first[deleteIndex]+ " индекс : " + deleteIndex); //смотрим что мы удаляли
} else {
    System.out.println("Вы ввели неверные значения!");
    }
}
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.04.2014, 21:25
Помогаю со студенческими работами здесь

Как ограничить размер ListBox размером окна (расползается на весь размер)?
Вроде простой вопрос, а что то закопался. Есть Page, в ней Grid, в нем ListBox Так вот когда ListBox заполняется данными, ListBox...

Дан целочисленный массив A размером n. Построить массив B, содержащий элементы массива A
Дан целочисленный массив A размером n. Построить массив B, содержащий элементы массива A, стоящие в нечетных позициях. Отсортировать массив...

Задан двухмерный массив А размером 7 на 7. Выделить в одномерный массив В те элементы массива А которые не повторяются в массиве А.
Подскажите пожалуйстта решение!СПАСИБО! Задан двухмерный массив А размером 7 на 7. Выделить в одномерный массив В те элементы массива А...

Дан целочисленный массив размером N. Отсортировать массив по убыванию. Вычислить сумму первого и последнего элемента массива.
Дан целочисленный массив размером N. Отсортировать массив по убыванию. Вычислить сумму первого и последнего элемента массива.

задан массив размером 16. Сформировать из него массив размером 4x4 по строкам.
задан массив размером 16.Сформировать из него массив размером 4x4 по строкам. и второй макрос. заданы координаты вершин трех...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru