Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/384: Рейтинг темы: голосов - 384, средняя оценка - 4.98
11 / 11 / 2
Регистрация: 16.08.2009
Сообщений: 434

Присвоение значений всем элементам массива

15.10.2009, 15:03. Показов 72957. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как присвоить значение всем элементам массива наиболее простым способом

думал что

C++
1
2
  
double massiv[11]={1};
присваивает значение всем элементам но как оказалось только первому элементу

Можно как то присвоить значение всем элементам сразу при инициализации массива?
Ну или без использования цикла
К примеру надо чтобы все элементы массива были равны 1.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.10.2009, 15:03
Ответы с готовыми решениями:

Присвоение элементам массива значений структуры
Доброго дня. У меня возникла проблема с присвоением элементам массива значений структуры. В чем может быть ошибка? Есть два шаблона: ...

Присвоение значений элементам двумерного динамического массива
Я недавно начал программировать на языке С++, поэтому, естественно, многого не понимаю :( Вот создал я (пытался) двумерный динамический...

Присвоение значений элементам двумерного вектора
Недавно добрие люди помогли мне со следующим кодом 1 код vector<vector<char>> vv; // ... for (auto row_it = vv.begin() + х;...

13
 Аватар для pigah
12 / 12 / 5
Регистрация: 05.07.2009
Сообщений: 147
Записей в блоге: 1
15.10.2009, 15:22
C++
1
2
3
for(int i=0;i<11;i++){
massiv[i]=1;
}
0
11 / 11 / 2
Регистрация: 16.08.2009
Сообщений: 434
15.10.2009, 15:25  [ТС]
pigah,
ну это я и сам знаю
я ж написал можно ли без цикла
0
 Аватар для pigah
12 / 12 / 5
Регистрация: 05.07.2009
Сообщений: 147
Записей в блоге: 1
15.10.2009, 15:28
Нет но можно так:
C++
1
double massiv[5]={1,1,1,1,1};
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
15.10.2009, 15:37
А если массив тысяч этак на 20 элементов
C++
1
2
3
4
5
6
#include <algorithm>
 
const int size = 50000;
double array[size];
 
std::fill(array, array + size, 1.0);



1
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
15.10.2009, 16:17
...присваивает значение всем элементам но как оказалось только первому элементу
Не совсем так. Если используется список инициализации, то все эелементы которые не инициализированы в ручную автоматически инициализируются нулями. Т.е. к примеру int mas[5] = {0}; инициализирует нулями весь массив, а не только первый элемент.
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
15.10.2009, 16:18
Шутка, но как вариант
C++
1
2
3
4
int buf[20000];
for(int i = 0; i < 20000; ++i)
    buf[i] = 1;
int* mas = buf;
0
11 / 11 / 2
Регистрация: 16.08.2009
Сообщений: 434
15.10.2009, 16:23  [ТС]
CheshireCat,
большое спасибо то что нужно
почему то заработало без #include <algorithm> и std:: это нормально ?

pigah,
C++
1
double massiv[5]={1,1,1,1,1};
тож полезно знать что так можно
0
 Аватар для AnonymC
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
15.10.2009, 16:40
nill, а чем тебе цикл мешает?
0
Эксперт С++
 Аватар для CyBOSSeR
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
15.10.2009, 16:41
Цитата Сообщение от CheshireCat Посмотреть сообщение
А если массив тысяч этак на 20 элементов
C++
1
std::fill(array, array + size, 1.0);
Пояснения к функции fill.
C++
1
2
3
4
5
6
template<class ForwardIterator, class Type>
   void fill(
      ForwardIterator _First,  // указатель на первый элемент массива (имя массива является одновременно указателем на первый элемент)
      ForwardIterator _Last,   // указатель на элемент следующий за последним (указатель на первый элемент плюс количество)
      const Type& _Val         // заполнитель 
   );
Ссылка в MSDN: fill(C++ Std Lib)

А std нужно потому, что fill входит в простанство имен (namespace) под названием std, и просто так его использовать не получиться. Операция :: (разрешение контекста) используется для доступа к членам пространства имен (но не только).
0
14 / 14 / 4
Регистрация: 08.10.2009
Сообщений: 114
15.10.2009, 16:57
Можно использовать такой вариант, который значительно быстрее способа "через цикл":
C++
1
2
3
4
5
6
7
8
9
//In Visual Studio 9.0
#include<iostream>
....
int main()
{
int Array[100];
memset(Array, 0, sizeof(int)*100)
....
}
Это подходит для целочисельных типов и типа bool.
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
15.10.2009, 17:06
Это допустимо только при заполнении нулями. Иначе, для ненулевых значений, это допустимо только для типов char и bool.
0
0 / 0 / 0
Регистрация: 06.11.2016
Сообщений: 3
29.12.2016, 19:29
как присваивать значение символьным массивам?
0
1615 / 1181 / 552
Регистрация: 08.01.2012
Сообщений: 4,558
30.12.2016, 03:43
C
1
2
3
4
char a[]="qwerty";//6+7-й ноль
char b[10]="";//все 10 ноль
char c[10];
memset(c,'z',sizeof(c));//все 10 'z'
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.12.2016, 03:43
Помогаю со студенческими работами здесь

Присвоение значений элементам вложенной структуры
Необходимо присвоить значение элементам массива структур struct message { unsigned char code; unsigned short length; struct body...

Ко всем элементам одномерного массива прибавить первый
Дан одномерный массив. Нужно ко всем его элементам прибавить первый . Например : ввод - 1 2 3 4 вывод - 3 4 5

Строка которая добавит + 5 всем элементам массива
Будьте добры помогите

do while цикл для прибавления числа ко всем элементам массива
Привет! У меня задача прибавить одно число к каждому элементу массива (преобразовать температуру из градусов Цельсия в Кельвины), используя...

Прибавить ко всем элементам одномерного числового массива максимальный элемент
Прибавить ко всем элементам одномерного числового массива максимальный элемент. Пожалуйста помогите)))))


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru