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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.93
Гимнастка
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 6
#1

Заполнить массив циклом while - C++

21.06.2014, 07:29. Просмотров 2173. Ответов 10
Метки нет (Все метки)

Помогите сдать экзамен!
Заполнить массив х с помощью while
массив: 1234567
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Хедин
73 / 68 / 36
Регистрация: 17.05.2014
Сообщений: 301
21.06.2014, 07:36     Заполнить массив циклом while #2
Гимнастка,
C
1
2
3
4
5
6
int main()
{
    int i = -1, a[7];
    while ((++i) < 7) a[i] = i+1;
    return 0;
}
Гимнастка
0 / 0 / 0
Регистрация: 27.11.2013
Сообщений: 6
21.06.2014, 07:52  [ТС]     Заполнить массив циклом while #3
Спасибо!

Добавлено через 8 минут
А посему при вводе i= -1 ?
Хедин
73 / 68 / 36
Регистрация: 17.05.2014
Сообщений: 301
21.06.2014, 07:56     Заполнить массив циклом while #4
Гимнастка, потому что ++i вначале увеличивает свое значение на 1, а затем возвращает значение. Если бы мы изначально сделали i = 0, то у нас на первом шаге цикла i была равна 1, то есть первый элемент массива мы бы пропустили
Sh@dow777
12 / 12 / 3
Регистрация: 10.12.2013
Сообщений: 655
21.06.2014, 14:35     Заполнить массив циклом while #5
Хедин, А так нельзя?
C++
1
2
3
4
5
6
int main()
{
    int i = 0, a[7];
    while ((i++) < 7) a[i] = i+1;
    return 0;
}
Denno
51 / 51 / 6
Регистрация: 21.10.2012
Сообщений: 188
Завершенные тесты: 3
21.06.2014, 14:47     Заполнить массив циклом while #6
Еще и вот так можно:

C++
1
2
3
4
5
6
7
8
int main()
{
    for (int i = 1, a[7]; i <= 7; ++i)
        std::cout << (a[i] = i) << std::endl;
 
    system("PAUSE");
    return 0;
}
Sh@dow777
12 / 12 / 3
Регистрация: 10.12.2013
Сообщений: 655
21.06.2014, 14:53     Заполнить массив циклом while #7
Denno, Поправочка
C++
1
2
3
4
5
6
7
8
int main()
{
    for (int i = 1, a[7]; i <= 7; i++)
        std::cout << (a[i] = i) << std::endl;
 
    system("PAUSE");
    return 0;
}
Или так
C++
1
2
3
4
5
6
7
8
int main()
{
    for (int i = 0, a[7]; i <= 7; ++i)
        std::cout << (a[i] = i) << std::endl;
 
    system("PAUSE");
    return 0;
}
Jewbacabra
Эксперт PHP
2126 / 1790 / 659
Регистрация: 24.04.2014
Сообщений: 5,148
21.06.2014, 14:56     Заполнить массив циклом while #8
Sh@dow777, 2 вариант неверный: выведет 0 1 2 3 4 5 6 7
первый вариант эквивалентен коду, предложенному Denno
Sh@dow777
12 / 12 / 3
Регистрация: 10.12.2013
Сообщений: 655
21.06.2014, 15:12     Заполнить массив циклом while #9
Ну тогда так
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
 
int main()
{
    for (int i = 1, a[8]; i < 8 ; ++i)
        std::cout << (a[i] = i) << std::endl;
 
    system("PAUSE");
    return 0;
}
Я скомпилировал код Denno, и мне ошибку выбило.

Добавлено через 1 минуту
Или вот так
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
 
int main()
{
    for (int i = 1, a[8]; i <= 7 ; ++i)
        std::cout << (a[i] = i) << std::endl;
 
    system("PAUSE");
    return 0;
}
Добавлено через 6 минут
Или так
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
 
int main()
{
    for (int i = 0, a[7]; i < 7 ; i++)
        std::cout << (a[i] = i+1) << std::endl;
 
    system("PAUSE");
    return 0;
}
На любой вкус.
Pjeroo
Землянин
34 / 34 / 12
Регистрация: 15.01.2013
Сообщений: 313
21.06.2014, 16:12     Заполнить массив циклом while #10
Denno, Sh@dow777, заполнить массив циклом while
Внесу свои 5 копеек.
C++
1
2
3
4
5
int x[7];
int i = 0;
 
while (i<7)
    x[i] = (i++)+1;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2014, 18:03     Заполнить массив циклом while
Еще ссылки по теме:

C++ Массив: Заполнить массив из 10 элементов случайным образом в интервале (0..3).
заполнить массив C++
Заполнить массив C++
Заполнить массив строк из файла. Массив заполняется, но выводится не корректно C++
C++ Строковый Массив с циклом

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

Или воспользуйтесь поиском по форуму:
Хедин
73 / 68 / 36
Регистрация: 17.05.2014
Сообщений: 301
21.06.2014, 18:03     Заполнить массив циклом while #11
Sh@dow777, вы зачем память транжирите?
Yandex
Объявления
21.06.2014, 18:03     Заполнить массив циклом while
Ответ Создать тему
Опции темы

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