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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> элементы массива 
:(
    Опции темы
555shiro
Дата 16.10.2010, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте !
 попробовал написать простенькую прогу,хотел чтобы она выводила все элементы массива,но вместо этого выводится 5,почему ?


Код

#include <iostream.h>
#include <conio.h>
void main ()
{
int i;
 int a[5];
       for(i=0;i<5;i++)
cin>>i;
cout<<a[i]<<" ";

getch ();
}


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


Вольноопределяющийся
*


Профиль
Группа: Участник
Сообщений: 186
Регистрация: 16.6.2008
Где: Спасск-Дальний

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



Хорошо, что она вообще что-то выводит, а не громко падает.
Почитай ещё про циклы и  про массивы.

Код

#include <iostream.h>
#include <conio.h>
void main ()
{
int i;
 int a[5];
       for(i=0;i<5;i++) cin>>a[i];
       for(i=0;i<5;i++) cout<<a[i]<<" ";

getch ();
}

PM MAIL   Вверх
LeD4eG
Дата 16.10.2010, 12:50 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



может, это пригодиться:
1. запомни, что переменная i - это не значение элемента массива. i - это номер элемента. в данном случае (размерность массива 5) номера будут 0, 1, 2, 3, 4. а чтобы получить значение элемента, стоящего на определённом месте, необходимо подставить номер этого элемента, то есть a[0], a[1] и т.д. тем самым ты как говоришь: просмотреть значение элемента массива а, стоящем на i месте.

2. после того, как объявил массив, необходимо ввести его элементы (ну это для нас, для новичков smile ). так нельзя сразу записать все элементы, заводим цикл, который будет пробегать по значениям номеров элементов. и на каждой итерации будет вводится одно значение элемента и записываться в определённый номер.

3. по началу, пока в голове не отложится чёткое понимание, сопровождай программу контрольным выводом значений массива. для также заводится цикл и за одну итерацию также выводится одно значение элемента, стоящего на определённом месте. после проверки строки с выводом массива можно, либо удалить, либо закомментировать.

и запомни номера элементов в массивах начинаются не с 1, а с нуля 0. обращение к элементам массива за пределами размерности массива - это очень серьёзная ошибка! то есть в твоём случае размерность равна 5. как я уже писал элементы у тебя будут стоять на номерах: 0, 1, 2, 3, 4. но при попытке обратиться к элементу a[5] будет возникать ошибка. для человека размерность равна n=5, но для обращения всегда номер элемента будет n-1.
--------------------
Ты не успел стать для кого-то главным, кому-то очень нужным.....
PM MAIL   Вверх
555shiro
Дата 16.10.2010, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



При случае с двумерным массивом,как сделать чтобы выводились элементы не в одну строчку через пробел,а как матрица квадратная чтобы понятней  и удобней было ?

Код

#include <iostream.h>
#include <conio.h>
void main ()
{
int i,j;
 int a[4][4];
for(i=0;i<4;i++)
for(j=0;j<4;j++)
   cin>>a[i][j];
for(i=0;i<4;i++)
for(j=0;j<4;j++)
   cout<<a[i][j]<<" ";
getch ();
}

PM MAIL   Вверх
Teleport
Дата 16.10.2010, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Код

#include <iostream>

using namespace std;

int main()
{
    int a[4][4];
    int i, j;
    // ввод массива вручную
    for (i = 0; i < 4; i++)
        for (j = 0; j < 4; j++)
        {
            cout << "Vvedite element " << i << " " << j << endl;
            cin >> a[i][j];
        }

    cout << "Massiv:" << endl;
    // вывод массива на экран
    for (i = 0; i < 4; i++)
    {
        for (j = 0; j < 4; j++)
            cout << a[i][j] << "  ";
        cout << endl; //тут обрываем строку
    }
    return 0;
}



--------------------
user posted image
user posted image 
PM MAIL   Вверх
555shiro
Дата 18.10.2010, 07:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



а как обратиться не к элементу(например a[0][1] ) а к целой строке сразу или столбцу ? и вообще возможно ли такое на данном языке ?
PM MAIL   Вверх
ATAMAN200
Дата 18.10.2010, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Чтение из массива и вывод на экран

Код

#include "stdafx.h" 
#include <iostream>
#include "conio.h" 
using namespace std;
int aaa[] = {110,210,220,567,895,479}, bbb;
int main()
{
    for(aaa[bbb]; bbb < sizeof(aaa)/4; bbb++)
        cout << aaa[bbb]  << endl;
    getch();
}

PM MAIL   Вверх
Crafty
Дата 18.10.2010, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(ATAMAN200 @  18.10.2010,  21:20 Найти цитируемый пост)
Чтение из массива и вывод на экран

Код

sizeof(aaa)/4
 int не обязательно 4 байта.
Код

#include <iostream>

using namespace std;
int aaa[] = {110,210,220,567,895,479};
int main()
{
  for(size_t bbb = 0; bbb < sizeof(aaa)/sizeof(*aaa); ++bbb)
    cout << aaa[bbb]  << endl;
}

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

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

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

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

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


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

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


 




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


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

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