Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
0 / 0 / 1
Регистрация: 24.12.2015
Сообщений: 60

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

17.01.2016, 11:50. Показов 3862. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Можно-ли мгновенно присвоить конкретное значение нескольким (n) элементам массива, допустим одномерного, начиная с некоторой позиции?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.01.2016, 11:50
Ответы с готовыми решениями:

Присвоить конкретное значение нескольким элементам массива
Люди высшего разума, помогите Билдерщику. Можно-ли мгновенно присвоить конкретное значение нескольким (n) элементам массива, допустим...

Элементам массива меньше 10 присвоить нулевые значения, а элементам больше 20 присвоить 1
Дан одномерный массив из 15 элементов. Элементам массива меньше 10 присвоить нулевые значения, а элементам больше 20 присвоить 1. Вывести...

Элементам массива меньше 10 присвоить нулевые значения, а элементам больше 20 присвоить 1
Одномерный массив из 8 элементов заполнить случайным образом числами от 6 до 30. Элементам массива меньше 10 присвоить нулевые значения,...

9
Модератор
 Аватар для D1973
9910 / 6447 / 2455
Регистрация: 21.01.2014
Сообщений: 27,365
Записей в блоге: 3
17.01.2016, 13:08
Начиная с позиции N K элементов массива А примут значение "конкретное значение"
C++
1
for(int i = N; i < N + K; i++) A[i] = "конкретное значение";
0
0 / 0 / 1
Регистрация: 24.12.2015
Сообщений: 60
17.01.2016, 14:10  [ТС]
Тут точно все коты )))
Не это я и сам мог придумать, мне надо мгновенно ))

Добавлено через 58 минут
И ещё вопросик. Оптимизируются ли такие вещи как умножить на 10 или 100, то есть просто передвинуть запятую?
0
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
17.01.2016, 14:17
Цитата Сообщение от Serg2016_1 Посмотреть сообщение
мне надо мгновенно
Не выйдет. Максимум - на ассемблере копирование заготовки блока памяти со значениями. Еще мгновеннее врядли буде.
0
0 / 0 / 1
Регистрация: 24.12.2015
Сообщений: 60
17.01.2016, 15:43  [ТС]
Вот, вот это то, что мне нужно, а есть кто-нибудь, кто отличает ассемблер от мата и может сказать как это сделать?

Добавлено через 1 час 21 минуту
И про умножение и деление на 10 тоже очень надо...
0
+1
345 / 178 / 53
Регистрация: 24.08.2010
Сообщений: 1,028
18.01.2016, 05:43
Лучший ответ Сообщение было отмечено Serg2016_1 как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
int N=0, K=5, A[10], B[10]={1,2,3,4,5,6,7,8,9,0};
for(int i = N; i < 10; i++) A[i] = 55;
_asm
    {
    pushad
    lea esi,B
    lea edi,A
    mov ecx,K
    rep movsd     // копируем из В в А в количестве К
    popad
    }
0
0 / 0 / 1
Регистрация: 24.12.2015
Сообщений: 60
18.01.2016, 11:32  [ТС]
Золотые слова, уже то, что надо. В моем случае устраивает вариант с 0 но вопрос: копироваться будут существующие элементы массива A начиная с N в B начиная с N?
0
+1
345 / 178 / 53
Регистрация: 24.08.2010
Сообщений: 1,028
18.01.2016, 14:52
Как видишь, в ассемблерной вставке упоминания про N нет.
В таком виде будут копироваться элементы с нуля.
Если надо, можно дописать с какого элемента начинать.
C++
1
2
lea esi,B+NB*4
lea edi,A+NA*4
NA и NB начало в массивах А и В.
4 – размер переменной int в байтах.
1
0 / 0 / 1
Регистрация: 24.12.2015
Сообщений: 60
18.01.2016, 15:33  [ТС]
Понял... Огр. спасибо. А теперь чтобы все вообще сияло можно-ли это сделать со столбиками или наверное строчками многомерных массивов?
0
0 / 0 / 1
Регистрация: 24.12.2015
Сообщений: 60
20.01.2016, 16:24  [ТС]
Всё прекрасно работает на частных примерах.
Но есть массив 100x100x3 (x,y,RGBA) и второй от 0 до 10.....0 заполненный нулями.Первый массив картинка в opengl. После asm начальная позиция и количество закрашенных элементов в порядке, но полоса почему-то красится не черным а белым и поверх ее ничего не рисуется. Что это может быть? Значения массивов белых мест выводил cout ом оба нули всё в порядке...

Добавлено через 7 минут
Впрочем, всё спасибо разобрался....
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.01.2016, 16:24
Помогаю со студенческими работами здесь

Присвоить элементам массива значение по правилу
даны две матрицы А и В. Если каждый элемент матрицы А больше соответствующего элемента матрицы В, присвоить элементам С1,С2,...,С5 значение...

Присвоить всем элементам массива одно значение разом
создаю массив bool bool Myarray=new bool; как сделать так,чтоб Myarray ={false}? на с++ просто пишется:bool Myarray={false} ...

Присвоить значение 5 всем элементам массива, имеющим номер, кратный 3
. Дан массив А(N). Составить программу, которая присваивает значение 5 всем элементам массива А, имеющим номер, кратный 3.

Как присвоить одинаковое значение всем элементам индексного массива длины N?
Всегда делал это перебором всех N элементов массива var N = 31415926; var myArr = new Array (N) var e = Math.E; // число Непера,...

Найти минимальное число, присвоить его значение второму и четвертому элементам массива
Минимальное-то нашел, а вот как выполнить замену сразу на два места не понимаю. Добавлено через 56 секунд P.S. Найти минимальное...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru