Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Одномерный динамический массив. Новый массив из старого.(Задача) не полу 
V
    Опции темы
max29
Дата 8.5.2016, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 16.4.2016

Репутация: нет
Всего: нет



Вот задача: Программа получения нового массива из старого массива удалением каждый раз числа 5 из старого массива. К примеру в массиве 4-раза встречается число 5 надо каждый раз его удалить. Т.е. if(a[i]==5) delete []a;
или что-то типа того. Не получается у меня написать. smile   smile 

 smile 
PM MAIL   Вверх
nworm
Дата 8.5.2016, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 502
Регистрация: 22.10.2005

Репутация: нет
Всего: 8



Поэлементно удалять из массива нельзя.
Можно, например, сдвигать массив влево.
Код

 if(a[i]==5)
   for(j=i;j<Nmax;j++)
      a[j]=a[j+1];


Можно использовать вектор. Вот из вектора можно поэлементно удалять.
PM MAIL WWW   Вверх
max29
Дата 8.5.2016, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 16.4.2016

Репутация: нет
Всего: нет



А может что нибудь вот такое??
Но только эта прога не работает(((
Код

#include <iostream>
using namespace std;
void main()
int FormArray(int* a, int *b, int n=4)
{
    int i;
    int Nnew=0;
    cin>>a[i];
    for(int i=0;i<n;i++)
    {
       if(a[i]!=5)
          b[Nnew++]=a[i];
    }
    cout<<"b : "<<b[Nnew++]<<endl;
    system("pause");
    return Nnew; 
}

PM MAIL   Вверх
nworm
Дата 8.5.2016, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 502
Регистрация: 22.10.2005

Репутация: нет
Всего: 8



Да, можно и так. Только отладить нужно.
PM MAIL WWW   Вверх
max29
Дата 8.5.2016, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 16.4.2016

Репутация: нет
Всего: нет



Вы бы не могли показать как эта прога выглядит в отлаженном виде?  smile 
PM MAIL   Вверх
bsa
Дата 24.5.2016, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Тут не отлаживать нужно. А исправить синтаксические ошибки, да и структурные тоже.
Например, идет определение функции mail(), но вместо тела сразу идет определением функции FormArray()... Что-то тут не так.
Далее, кто выделяет память под массивы a и b? И где?
Ну, и наконец, операция cin >> a[i] подразумевает, что i имеет какое-то значение. Но, судя по строке 6, переменная эта не инициализирована. Более того, по логике программы тут должен быть цикл от 0 до n. Кроме того, не помешало бы перед этим циклом вывести приглашение на ввод данных, а перед каждым вводом числа писать отдельное приглашение ввода:
Код
Please enter array size: 5
Please enter array data:
a[0] = 5
a[1] = 3
a[2] = 5
a[3] = 4
a[4] = 0
Result is:
b[0] = 3
b[1] = 4
b[2] = 0


При выводе приглашений вместо std::endl используй std::flush, тогда вывод получится таким, как у меня в примере.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1615 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.