Форум программистов, компьютерный форум CyberForum.ru

Вывод элементов массива - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.60
amatorIP
 Аватар для amatorIP
3 / 3 / 0
Регистрация: 22.07.2010
Сообщений: 141
22.07.2010, 21:06     Вывод элементов массива #1
Я начинаю работать с С++. Написал элементарнейшую программку. Если ее можно так назвать.
Проблема вот в чем. Создаю массив из 5-ти элементов, записываю каждый элемент в массив и хочу вывести его. Но не тут то было!( В результате я вижу 7 значений с непонятным происхождением.
Ниже приведен код программы и картинка с результатом(
Спасибо!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <vcl.h>
#include <iostream.h>
#include <conio.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
int main()
{
int Array[5];                                 
cout << "Vvedite elementi massiva" << endl;     
cin >> Array[0];                             
cin >> Array[1];
cin >> Array[2];
cin >> Array[3];
cin >> Array[4];
 
cout << Array << endl;                            
        getch();
        return 0;
}
 Комментарий модератора 
Название темы должно как можно чётче отображать вашу проблему.
Миниатюры
Вывод элементов массива  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
besstiaa
 Аватар для besstiaa
93 / 93 / 7
Регистрация: 04.06.2010
Сообщений: 223
22.07.2010, 21:12     Вывод элементов массива #2
Выводится адрес первого элемента массива в памяти, потому как Array - указатель на массив. Выводить элементы нужно в цикле. Например:

C++
1
2
for (int i = 0; i < 5; i++)
 cout << Array[i] << endl;
amatorIP
 Аватар для amatorIP
3 / 3 / 0
Регистрация: 22.07.2010
Сообщений: 141
22.07.2010, 21:22  [ТС]     Вывод элементов массива #3
Спасибо! Сейчас попробую!)
Sekt
 Аватар для Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
22.07.2010, 21:31     Вывод элементов массива #4
и для ввода лучше использовать тоже цикл.
niXman
Эксперт C++
 Аватар для niXman
3133 / 1445 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
28.07.2010, 04:42     Вывод элементов массива #5
такой вариант: http://liveworkspace.org/code/6dfe7e...2052fff70ccf93
Mr.X
Эксперт С++
 Аватар для Mr.X
3011 / 1667 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
28.07.2010, 23:23     Вывод элементов массива #6
Цитата Сообщение от niXman Посмотреть сообщение
Мне кажется, вот так будет правильнее:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
 
int main() 
{
   std::vector<int> ivec;
   const int count = 10;
   /** заполняем массив */   
   std::generate_n(std::back_inserter(ivec), count, rand);
   
   /** выводим на консоль */
   std::copy(ivec.begin(), ivec.end(), std::ostream_iterator<int>(std::cout, "\n"));
 
   return 0;
}
niXman
Эксперт C++
 Аватар для niXman
3133 / 1445 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
28.07.2010, 23:25     Вывод элементов массива #7
Цитата Сообщение от Mr.X Посмотреть сообщение
Мне кажется, вот так будет правильнее
почему?
Mr.X
Эксперт С++
 Аватар для Mr.X
3011 / 1667 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
28.07.2010, 23:35     Вывод элементов массива #8
Цитата Сообщение от niXman Посмотреть сообщение
почему?
Потому что так работает, а в вашей записи - нет.
niXman
Эксперт C++
 Аватар для niXman
3133 / 1445 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
28.07.2010, 23:37     Вывод элементов массива #9
Цитата Сообщение от Mr.X Посмотреть сообщение
Потому что так работает, а в вашей записи - нет.
зачем балоб....голословить
Mr.X
Эксперт С++
 Аватар для Mr.X
3011 / 1667 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
28.07.2010, 23:40     Вывод элементов массива #10
Цитата Сообщение от niXman Посмотреть сообщение
зачем балоб....голословить
А у вас работает?
niXman
Эксперт C++
 Аватар для niXman
3133 / 1445 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
28.07.2010, 23:42     Вывод элементов массива #11
по ссылке, есть кнопочка "Run". нажми, и увидишь.
конечно работает. по вашему, я пишу лиш бы что, не проверяя?
Mr.X
Эксперт С++
 Аватар для Mr.X
3011 / 1667 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
29.07.2010, 00:26     Вывод элементов массива #12
У меня в Visual Studio 2008 при запуске вашего кода
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
 
int main() 
{
   std::vector<int> ivec;
   const int count = 10;
   /** заполняем массив */
   std::generate_n(std::back_inserter(ivec), count, [](){return rand();});
   
   /** выводим на консоль */
   std::copy(ivec.begin(), ivec.end(), std::ostream_iterator<int>(std::cout, "\n"));
 
   return 0;
}
вылезают следующие ошибки:
1>d:\dx\visual studio 2008\projects\proverka\proverka\proverka.cpp(17) : error C2059: syntax error : '['
1>d:\dx\visual studio 2008\projects\proverka\proverka\proverka.cpp(17) : error C2143: syntax error : missing ')' before '{'
1>d:\dx\visual studio 2008\projects\proverka\proverka\proverka.cpp(17) : error C2143: syntax error : missing ';' before '{'
1>d:\dx\visual studio 2008\projects\proverka\proverka\proverka.cpp(17) : error C2059: syntax error : ')'
1>Build log was saved at "file://d:\dx\Visual Studio 2008\Projects\proverka\proverka\Debug\BuildLog.htm"
1>proverka - 4 error(s), 0 warning(s)
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9383 / 5433 / 916
Регистрация: 25.07.2009
Сообщений: 10,428
29.07.2010, 00:27     Вывод элементов массива #13
Цитата Сообщение от niXman Посмотреть сообщение
такой вариант
у меня, кстати, тоже не сложилось:
C:\cpp\numbers>g++ -o nixman_random.exe nixman_random.cpp
nixman_random.cpp: In function 'int main()':
nixman_random.cpp:10: error: expected primary-expression before '[' token
nixman_random.cpp:10: error: expected primary-expression before ']' token

C:\cpp\numbers>
niXman
Эксперт C++
 Аватар для niXman
3133 / 1445 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
29.07.2010, 00:39     Вывод элементов массива #14
микрософтстудия: минимум 2010
gcc: минимум 4.5.0

Добавлено через 37 секунд
с микрософтстудией все понятно.

easybudda, версию компилятора покажи.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9383 / 5433 / 916
Регистрация: 25.07.2009
Сообщений: 10,428
29.07.2010, 01:04     Вывод элементов массива #15
Цитата Сообщение от niXman Посмотреть сообщение
easybudda, версию компилятора покажи.
Код
C:\cpp\system>gcc -dumpversion
4.4.0
видимо, по этому...
Цитата Сообщение от niXman Посмотреть сообщение
gcc: минимум 4.5.0
niXman
Эксперт C++
 Аватар для niXman
3133 / 1445 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
29.07.2010, 01:06     Вывод элементов массива #16
угу..
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
29.07.2010, 03:09     Вывод элементов массива #17
Цитата Сообщение от niXman Посмотреть сообщение
угу..
это ж теперь можно вот так писать
C++
1
std::generate_n(std::back_inserter(ivec), count, [](){return rand() % 10;});
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.07.2010, 03:13     Вывод элементов массива
Еще ссылки по теме:

C++ Вывод элементов массива в строку
Ввод и вывод массива целых чисел Вычислить сумму модулей элементов массива,располроженных после первого отрицательного C++
C++ Ввод и вывод массива целых чисел Вычислить сумму модулей элементов массива,располроженных после первого отрицательного
C++ Разработайте программу, в которой организован ввод элементов одномерного массива и вывод данных элементов
C++ Вывод элементов массива

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

Или воспользуйтесь поиском по форуму:
niXman
Эксперт C++
 Аватар для niXman
3133 / 1445 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
29.07.2010, 03:13     Вывод элементов массива #18
Цитата Сообщение от fasked Посмотреть сообщение
это ж теперь можно вот так писать
ну да. лямбда выражения
Yandex
Объявления
29.07.2010, 03:13     Вывод элементов массива
Ответ Создать тему
Опции темы

Текущее время: 09:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru