Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Timon779
1 / 1 / 0
Регистрация: 11.06.2010
Сообщений: 65
#1

Ошибка при создании нового массива - C++

12.01.2011, 02:09. Просмотров 1162. Ответов 23
Метки нет (Все метки)

Задача:
Дан одномерный массив чисел, среди элементов которого есть одинаковые. Создать новый массив из различных элементов исходного массива.
Решение:
C++
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
#include <iostream.h>
#include <conio.h>
 
int main() {
 
  clrscr();
 
  int a[100], b[100], i, j, n;
 
  cin >> n;
  for (i=0; i < n; i++) {
    cout << "element "  << i << " :";
    cin >> a[i];
  }
 
  for (i = 0; i < n; i++) {
    cout << " " << a[i] << " ";
  }
 
  int d = 0;
  for(i = 0; i < n; ++i) {
 
    int exists = 0;
    for(j = 0; j < d; ++j)
      if(a[i] == b[j]) { exists = 1; break; }
 
    if(!exists) b[d++] = a[i];
 
  }
 
  cout << endl;
  for (i=0; i < d; i++) {
    cout << b[i] << " ";
  }
  return 0;
 
}
Ввожу "10", пишет
-244 2 -28720 12870 2 -28720 7460 -29593 2 -94
-244 2 -28720 12870 7460 -29593 -94
Что в программе не правильно?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2011, 02:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка при создании нового массива (C++):

Ошибка в создании нового массива - C++
все считает, но новый массив создается со значением int -85........ и так далее все элементы получились равными Само задание Составить...

Ошибка при создании массива - C++
Не пойму в чем ошибка... Подскажите пожалуйста. void CreatMas(int *m) { int st,stlb; scanf(&quot;%d&quot;,&amp;st); scanf(&quot;%d&quot;,&amp;stlb); ...

ошибка при создании массива - C++
задача такая, методом перебора найти первое простое десятизначное значение дробной части е (эпсилон). для простоты решил не вычислять...

Ошибка при создании динамического массива. - C++
Все доброго времени. Начал создавать одномерный массив, потом решил его преобразовать в динамический одномерный. Понимаю что...

Ошибка при создании массива большого размера - C++
Массив int m; выдает ошибку Винды в чем дела? с 5 9-ми все нормально Добавлено через 19 минут точнее выше 519999 выдает ошибку при...

Ошибка при создании динамического двумерного массива - C++
Ткните пальцем, что не так. Только учусь, делаю лабы, камнями не забрасывайте. Смотрел шаблоны здесь и в других местах, но есть вопрос. ...

23
sandye51
программист С++
685 / 587 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
12.01.2011, 21:51 #16
Jeka_T, предоставь мне пример кода с циклом, где результат будет меняться если написать вместо ++i соот-но i++
0
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
12.01.2011, 21:54 #17
Jeka_T, и ещё раз вам повторю, что разницы нет.

Добавлено через 37 секунд
Вы понимаете синтаксис оператора for? Объясните мне, пожалуйста.
0
Jeka_T
8 / 8 / 0
Регистрация: 12.01.2011
Сообщений: 26
12.01.2011, 21:57 #18
C++
1
#define ++i i++
вообще компилироваться не
будет, так делать нельзя
0
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
12.01.2011, 22:03 #19
Цитата Сообщение от Jeka_T Посмотреть сообщение
#define ++i i++
А это, блин, вообще к чему??

Добавлено через 41 секунду

Не по теме:

Jeka_T, извините за нескромный вопрос... Вы тролль?

0
Jeka_T
8 / 8 / 0
Регистрация: 12.01.2011
Сообщений: 26
12.01.2011, 22:15 #20
это я к тому, что вопрс от sandye51:

Jeka_T, предоставь мне пример кода с циклом, где результат будет меняться если написать вместо ++i соот-но i++

изначально присутсвовал такой кусок кода:
#define ++i i++
0
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
12.01.2011, 22:17 #21
Jeka_T, вот наотрез не вижу ни в одном листинге этой темы такой строчки.
0
Jeka_T
8 / 8 / 0
Регистрация: 12.01.2011
Сообщений: 26
12.01.2011, 22:45 #22
я вот сейчас почему-то тоже не вижу, но она была, иначе бы я такое не написал

Добавлено через 17 минут
признаю ошибку с ++i - i++ , сморозил
0
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
12.01.2011, 22:47 #23
Jeka_T, ну, это ладно, пусть была. Меня больше интересует ваше мнение по поводу пре- и постинкремента в цикле for...

Добавлено через 1 минуту
Цитата Сообщение от Jeka_T Посмотреть сообщение
признаю ошибку с ++i - i++ , сморозил
отлично, замяли
0
Jeka_T
8 / 8 / 0
Регистрация: 12.01.2011
Сообщений: 26
12.01.2011, 22:47 #24
ну с кем не бывает, ошибся с прединкрементом
0
12.01.2011, 22:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.01.2011, 22:47
Привет! Вот еще темы с ответами:

Ошибка при создании двумерного массива из объектов производных классов - C++
Доброго времени суток. Для начала обрисую ситуацию. Мне нужно динамически создать двумерный массив из трех классов, для этого я создал...

Пустое окно при создании нового проекта - C++
Добрый день, при создании проекта в любой из версий VS express(2008,2010,12,13) при создании проекта появляется пустое окно. Клавиши...

Как настроить изначальный код, который открывается при создании нового проекта - C++
Объясните пожалуйста, как в Visual C++ 2008 Express настроить изначальный шаблон кода при создании нового проекта. Например, чтоб каждый...

Использование объекта одного класса при создании нового класса - C++
Добрый вечер. У меня такая проблема. Есть готовый класс L2 - список, на его основе нужно создать дек. Я поступил так: в приватной части...


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

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

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