Перейти к содержимому

Фотография
- - - - -

Из массива выводится не то, что записано


Лучший Ответ Vadim , 21 Январь 2014 - 19:58

Все понял, хотел сделать вот это :D

Array[i]  = i = i + 1;

Слишком начинающий. :rolleyes:

Перейти к сообщению


Сообщений в теме: 3

#1 Vadim

Vadim

    Новичок

  • Пользователи
  • Pip
  • 5 сообщений

Отправлено 20 Январь 2014 - 00:28

 
Записываю в каждую ячейку массива цифру и вывожу на консоль
const int С = 10;
int Amas[С];


for(int i = 0; i < С; i++)
  Amas[i] = Amas[i] + (i++);// Amas[i] = i++;


for(int i = 0; i < С; i++)
  cout << Amas[i] << endl;

а на выходе получаю, какие-то непонятные цифры

-808043589
-808043588
-808043587
-808043586
-808043585
-808043584
-808043583
и т.д

что за проблема?



#2 Administrator

Administrator

    Администратор

  • Администраторы
  • 89 сообщений
  • ГородПенза

Отправлено 20 Январь 2014 - 21:18



 

 
Записываю в каждую ячейку массива цифру и вывожу на консоль

const int С = 10;
int Amas[С];


for(int i = 0; i < С; i++)
  Amas[i] = Amas[i] + (i++);// Amas[i] = i++;


for(int i = 0; i < С; i++)
  cout << Amas[i] << endl;

а на выходе получаю, какие-то непонятные цифры

-808043589
-808043588
-808043587
-808043586
-808043585
-808043584
-808043583
и т.д

что за проблема?

 

Amas[i] = Amas[i] + (i++);// Amas[i] = i++;  вы записывает непонятно что, так как изначально используете то что не инициализировано у вас, чего вы добиться хотите?!



#3 Vadim

Vadim

    Новичок

  • Пользователи
  • Pip
  • 5 сообщений

Отправлено 20 Январь 2014 - 23:12

Инициализация есть, не написал. Вот все.

#include <iostream>
#include <conio.h>

using std::cin;
using std::cout;
using std::endl;

int main ()
{
  const int C = 7;
  int Array[C]={0};

//записываем в каждую ячейку массива цифры и выводим
for(int i = 0; i < C; i++)
{
   Array[i] = i++;
   cout << Array[i] << endl;
}

  _getch();
  return 0;
}
 
результат вот такой, бывает по разному
0
0
0
-858993460

Подумал что c Visual Studio проблема, установил Code Block, выполняет что-то похожее, но правда при построении еще выдает на строчку 

Array[i] = i++;

такое 

||=== test_1, Debug ===|
D:\CodeBlocks\test_1\main.cpp||In function 'int main()':|
D:\CodeBlocks\test_1\main.cpp|13|warning: operation on 'i' may be undefined [-Wsequence-point]|
||=== Build finished: 0 errors, 1 warnings (0 minutes, 1 seconds) ===|
может тут есть какое-то объяснение или зацепка?


#4 Vadim

Vadim

    Новичок

  • Пользователи
  • Pip
  • 5 сообщений

Отправлено 21 Январь 2014 - 19:58   Лучший Ответ

Все понял, хотел сделать вот это :D

Array[i]  = i = i + 1;

Слишком начинающий. :rolleyes: