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

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

Войти
Регистрация
Восстановить пароль
 
Adler
78 / 78 / 3
Регистрация: 07.05.2009
Сообщений: 316
#1

Инициализация массива - C++

01.10.2009, 12:50. Просмотров 1158. Ответов 3
Метки нет (Все метки)

Здравствуйте!
хм... сначала написал так.
C++
1
POINT p[4]={00,00,10,10,10,10,10,10};
потом подумал, решил написать так.
C++
1
POINT p[4]={(00,00),(10,10),(10,10),(10,10)};
потом так. Ыы
C++
1
POINT p[4]={(00,(00,10),10),(10,(10),(10),10)};
И наконец вот так.
C++
1
POINT p[4]={{00,00},{10,10},{10,10},{10,10}};
Ну понятно, что последний вариант правильный. А вот что делают предыдущие). Неужели он подумал что весь этот набор цифр первый элемент, а остальное не указано?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.10.2009, 12:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Инициализация массива (C++):

Инициализация массива C++ - C++
Почему, если мы не инициализируем переменную, то при попытке работы с ней будет ошибка int main(){ char x; cout << x; ...

Инициализация массива - C++
Есть массив: int d; Есть константа бесконечности (просто константа) inf, равная 2^30. Я попытался проинициализировать массив этой...

инициализация массива - C++
Доброго времени. Инициализация массива с указанием размера 80 проходит гладко, при указании допустимого размера 12 выдает ошибку. Почему?

Инициализация массива - C++
Нужно объявить несколько статических строк, содержащих байты со значениями в диапазоне от 1 до 255 Пытаюсь что-то в этом духе: ...

Инициализация массива - C++
int ** mas, n; cout << "Введите порядок треугольника паскаля: " << endl; cin >> n; mas = new int * ; for (int i = 0; i < n;...

Инициализация символьного массива - C++
Не получается инициализировать в программе символьный массив #include <iostream> using namespace std; struct names{ char...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
-=ЮрА=-
Заблокирован
Автор FAQ
01.10.2009, 13:09 #2
Странно что ты сам этого не сделал, вот смотри как инициализировались поинты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <windows.h>
#include <stdio.h>
#include <conio.h>
 
void main()
{
    POINT p1[4]={00,00,10,10,10,10,10,10};
    POINT p2[4]={(00,00),(10,10),(10,10),(10,10)};
    POINT p3[4]={(00,(00,10),10),(10,(10),(10),10)};
    POINT p4[4]={{00,00},{10,10},{10,10},{10,10}};
 
    for(int i = 0; i < 4; i++)
    {
        printf("p1[%d] x : %d y : %d\r\n",i,p1[i].x,p1[i].y);
        printf("p2[%d] x : %d y : %d\r\n",i,p2[i].x,p2[i].y);
        printf("p3[%d] x : %d y : %d\r\n",i,p3[i].x,p3[i].y);
        printf("p4[%d] x : %d y : %d\r\n",i,p4[i].x,p4[i].y);
        printf("\r\n");
    }
    getch();
}
Миниатюры
Инициализация массива  
o-user
245 / 202 / 7
Регистрация: 03.02.2009
Сообщений: 788
01.10.2009, 13:10 #3
А какой у Вас C++ ?

Массив же можно инициализировать любым образом - внутренние скобки не играют роли!
Adler
78 / 78 / 3
Регистрация: 07.05.2009
Сообщений: 316
01.10.2009, 13:31  [ТС] #4
Вот затестил.
p1[0] 1 2
p2[0] 2 4
p3[0] 4 8
p4[0] 1 2

p1[1] 3 4
p2[1] 6 8
p3[1] 0 0
p4[1] 3 4

p1[2] 5 6
p2[2] 0 0
p3[2] 0 0
p4[2] 5 6

p1[3] 7 8
p2[3] 0 0
p3[3] 0 0
p4[3] 7 8
код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <windows.h>
#include <stdio.h>
#include <conio.h>
 
int main()
{
        POINT p1[4]={1,2,3,4,5,6,7,8};
        POINT p2[4]={(1,2),(3,4),(5,6),(7,8)};
        POINT p3[4]={(1,(2,3),4),(5,(6),(7),8)};
        POINT p4[4]={{1,2},{3,4},{5,6},{7,8}};
 
        for(int i = 0; i < 4; i++)
        {
                printf("p1[%d] %d %d\r\n",i,p1[i].x,p1[i].y);
                printf("p2[%d] %d %d\r\n",i,p2[i].x,p2[i].y);
                printf("p3[%d] %d %d\r\n",i,p3[i].x,p3[i].y);
                printf("p4[%d] %d %d\r\n",i,p4[i].x,p4[i].y);
                printf("\r\n");
        }
        getch();
    return 0;
}
ps: gcc
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.10.2009, 13:31
Привет! Вот еще темы с ответами:

Инициализация Динамического массива - C++
Друзья просмотрите пожалуйста мой динамический массив правильно ли я его длясебястолковал #include&lt;iostream&gt; using namespace std; ...

Инициализация массива в конструкторе - C++
Здравствуйте, я хотел бы узнать, возможна ли инициализация массива в конструкторе без использования циклов? Вот пример конструктора ...

Инициализация комплексного массива - C++
Подскажите как правильно проинициализировать элементы двухмерного комплексного массива. По заданию нужно чтобы с клавиатуры вводилась...

Инициализация двумерного массива - C++
Чет не понимаю на что возмущается компилятор... Заполняю как и заполнял раньше... char my_array; int x = 0; int t = 2; for(; x &lt; 2;...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
01.10.2009, 13:31
Ответ Создать тему
Опции темы

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