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

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

Войти
Регистрация
Восстановить пароль
 
 
Andrey5800
0 / 0 / 0
Регистрация: 27.08.2013
Сообщений: 10
#1

Заполнение массива - C++

13.09.2013, 21:39. Просмотров 739. Ответов 16
Метки нет (Все метки)

Как заполнить массив числами от 1 до 100000 ?
А то не резон как то писать
C++
1
int mass[100000] = {1,2,3,4,.....}
И еще не подскажете как заолнить массив только четными числами до 100 например. Тоеть 2,4,6,8,10....
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.09.2013, 21:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Заполнение массива (C++):

ввод двумерного массива,ввод размерности массива,заполнение массива случайными числами - C++
#include "stdafx.h" #include "locale.h" #include "stdlib.h" #include "math.h" void main() { setlocale(LC_ALL,"rus"); int...

Заполнение массива значениями из символьного массива - C++
есть массив символов char z;есть целочисленный массив int b;каждый символ z это цифра 0-9 нужно в b записать символ z(не код символа а...

Заполнение массива - C++
Доброго дня, уважаемые форумчане! В очередной раз сталкиваюсь с небольшой проблемой, суть ее заключается в следующем. Есть два массива...

Заполнение массива - C++
Извините, что флудю, просто в старой теме уже не отвечают. data::data(int f){ if (f==1) ...

Заполнение массива - C++
Как заполнить массив? Вот что получилось: #include <stdio.h> #include <conio.h> #include <stdlib.h> void main() { int...

Заполнение массива - C++
Помогите пожалуйста переписать данный код что бы массив заполнялся таким образом: 15 19 22 24 25 10 14 18 21 23 6 9 13 17 20 ...

16
Issues
430 / 365 / 37
Регистрация: 06.08.2012
Сообщений: 961
13.09.2013, 21:48 #2
в цикле.
0
vodilawofer
29 / 27 / 2
Регистрация: 27.09.2012
Сообщений: 123
13.09.2013, 21:49 #3
C++
1
2
for (int i = 0; i < 100000; ++i)
mas[i] = i + 1;
C++
1
2
for (int i = 0; i < 50; ++i)
mas[i] = i + 2;
0
Voivoid
675 / 278 / 12
Регистрация: 31.03.2013
Сообщений: 1,339
13.09.2013, 22:59 #4
Можно так:
std::iota( std::begin( mass ), std::end( mass ), 1 );
0
Бендерродригез
Сгибальщик
42 / 42 / 3
Регистрация: 18.05.2013
Сообщений: 220
Завершенные тесты: 1
13.09.2013, 23:11 #5
Цитата Сообщение от vodilawofer Посмотреть сообщение
C++
1
2
for (int i = 0; i < 50; ++i)
mas[i] = i + 2;
Итого будем иметь mas{3,4,5,6,7...51}

C++
1
2
3
for(int i = 0; i < 50; i++){
mas[i] = (i + 1) * 2;
}
0
Voivoid
675 / 278 / 12
Регистрация: 31.03.2013
Сообщений: 1,339
14.09.2013, 10:34 #6
Задача для знатоков C++ :
Заполните содержимое массива числами от 1 до n на этапе компиляции
0
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
14.09.2013, 10:41 #7
Цитата Сообщение от Voivoid Посмотреть сообщение
Задача для знатоков C++ :
Заполните содержимое массива числами от 1 до n на этапе компиляции
C++
1
int array[] = {1, 2, 3, 4, 5, ... , n};
0
Voivoid
675 / 278 / 12
Регистрация: 31.03.2013
Сообщений: 1,339
14.09.2013, 10:45 #8
Цитата Сообщение от ___ Посмотреть сообщение
C++
1
int array[] = {1, 2, 3, 4, 5, ... , n};
У топикстартера n было равно 100.000 . Не руками же заполнять. На предложения использовать какую-нибудь программу которая сгенерирует нужный код скажу, что можно и обойтись одними только средствами c++

Бонус за решение в рамках с++03, а не c++11
0
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
14.09.2013, 10:55 #9
макросы срабатывают во время компиляции

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
 
#define     FillArray(a, size)                  \
    for (int i=0; i<size; i++)                  \
    {                                           \
        a[i] = i+1;                             \
    }
 
 
int main()
{
    int a[100];
 
    FillArray(a, 100);
 
    for (int i=0; i<100; i++)
        cout << a[i] << " ";
 
    return 0;
}
0
Voivoid
675 / 278 / 12
Регистрация: 31.03.2013
Сообщений: 1,339
14.09.2013, 11:00 #10
Макросы разворачиваются в момент компиляции. Но в данном случае макрос развернутся в код инициализации массива, а этот код уже выполнится в момент выполнения программы. Т.е. задача не решена
0
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
14.09.2013, 11:19 #11
Voivoid, ну как вариант, это написать небольшую программу которая создает текстовый файл и записывает в него числа от 1 до 100000. В таком виде:

1, 2, 3, 4, 5, .... 100000
а дальше все его содержимое вставить в основную программу между фигурными скобками
C++
1
int a[100000] = {1, 2, 3, 4, 5, }


Добавлено через 5 минут
правильно? или можно еще по другому сделать?
0
Voivoid
675 / 278 / 12
Регистрация: 31.03.2013
Сообщений: 1,339
14.09.2013, 11:23 #12
Можно и так. Только есть небольшая проблема в том, что каждый раз при изменении размера массива понадобится перезапускать программку для генерации нового файла.

Но есть решении которое не требует отдельных программ
0
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
14.09.2013, 12:05 #13
Voivoid, а можно небольшую подсказку а то ничего в голову не приходит

это наверно как-то с STL связано?
0
Voivoid
675 / 278 / 12
Регистрация: 31.03.2013
Сообщений: 1,339
14.09.2013, 12:09 #14
STL то тоже не волшебный и выполняется в момент времени-выполнения. Подсказка - метапрограммирование
1
Algoritmer
155 / 95 / 13
Регистрация: 07.03.2013
Сообщений: 480
Записей в блоге: 1
14.09.2013, 12:21 #15
Voivoid, вопрос полезности такой задачи. Зачем и когда это нужно?
0
14.09.2013, 12:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.09.2013, 12:21
Привет! Вот еще темы с ответами:

Заполнение массива от 'А' до 'Я' и 'а' до 'я' - C++
Как заполнить массив буквами русского алфавита по порядку, желательно не вручную . Нужно от 'А' до 'Я' и затем от 'а' до 'я' т.е 66...

Заполнение массива - C++
Даны числа от 0 до 15 (включительно), нужно записать их в одномерный массив в рандомном порядке, при этом числа не должны повторяться ...

Заполнение массива - C++
У меня есть строка, которую пользователь ввел с консоли как мне каждый элемент строки добавить в массив??? Добавлено через 7 минут ...

Заполнение массива - C++
Я нахожу макс., мин. и среднее арифметическое элементов массива. Мне надо их значения записать во второй массив(новый). Как это сделать?...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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