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

Инициализировать массив быстро? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сортировка линейного однонаправленного списка http://www.cyberforum.ru/cpp-beginners/thread403820.html
Всем привет) Нужно отсортировать линейный однонаправленный список. Как это можно сделать? Причем нужно менять местами не данные, а указатели.. Вот код программы, список структур. Помогите плиз с сортировкой #include "stdafx.h" #include <clocale> #include <iostream>
C++ [C++] Арканоид Здравствуйте, я самый на то есть начинающий программист,поэтому сразу прошу прощения, если вопросы будут не очень коректными.Очень расчитываю на вашу помощь. Задача состоит в следующем. Нужно написать Арканоид на VisualС++(в игре должна присутствовать простая минюшка и хотябы два, три уровня.Причём написание нового уровня не должно сводиться к переписанию половины кода).Нужно использовать движок... http://www.cyberforum.ru/cpp-beginners/thread403817.html
Найти и вывести координаты центра окружности C++
Друзья, нужна помощь. Девушке задали лабы по СИ, она не шарит. Знакомых всех спросил, никто не может помочь. Вот она: 1. Диаметр окружности начинается в точке М1(x1,y1) и кончается в точке M2(x2,y2). Найти и вывести координаты её центра. 2. Числа X1 и X2 являются корнями приведенного квадратного уравнения. Найти и выве-сти наибольшее из чисел: sin(p) и cos(q), где p и q являются его вторым и...
system("") C++
Хотел узнать, есть справочник хотя бы о большинстве команд в system("")? Сам искал, ничего хорошего не нашел.
C++ Геометрические задачи http://www.cyberforum.ru/cpp-beginners/thread403780.html
Составить программу вычисления сторон треугольника, если известны радиус описанного вокруг него круга и градусные меры двух его углов. #include <iostream.h> #include <conio.h> #include <math.h> main() { float a, b, c, R, x, y, z; cout<<"Vvedit qradysny miry dvoh kytiv i radiys opusanogo kola: ";
C++ Минимальное количество монет Есть такая задача: Денежная система некоторой страны предоставляет монеты номиналом с, = 1, с2, ..., сN. Как выдать сумму S с помощью минимального числа монет? Вход. В первой строке — сумма S и количество номиналов N, во второй — значения номиналов: 1<N≤20, 1=с1<с2<...< сN≤50000, S≤100000. Выход. В первой строке — минимальное количество монет, во второй — N чисел (количества монет каждого... подробнее

Показать сообщение отдельно
DeadRipper
64 / 70 / 3
Регистрация: 25.06.2009
Сообщений: 244
10.12.2011, 21:17     Инициализировать массив быстро?
Цитата Сообщение от vb_lord Посмотреть сообщение
Спасибо, к сожаленю, не владею ассемблером, изучать нет времени.
ну тут не все так сложно:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <windows.h>
#include <stdio.h>
 
void main ()
{
int massiv[100];
int chislo=200;
int *pmassiv=massiv; //указатель на массив (не знаю как на асме его взять от massiv)
 
_asm{
 
    //записываем в стек 3 регистра мб они использовались где то
push eax; //будет элементом массива
push ebx; //будет числом
push ecx; // будет счетчиком 0..99
 
mov eax,pmassiv; //адрес на начало массива ложим в eax
mov ebx,chislo; //ложим в ebx число
xor ecx,ecx;// зануляем ecx
 
cc: //начало цикла
mov [eax],ebx //пишем в ячейку массива число []-означает что пишем не в eax а по адресу в eax
add eax,4 //увеличиваем адрес на 4 (int)
inc ecx; //увеличиваем счетчик на 1
cmp ecx,100;
jz ce;       //если ecx==100 выходим
jmp cc;
ce: //выход из цикла
 
pop eax;   //возвращаем программе взятые нами регистры как они были
pop ebx;
pop ecx;
}
 
for(int a=0;a<100;++a)
{
printf("massiv[%d] = %d \n",a,massiv[a]);
}
 
system("pause");
}
 
Текущее время: 03:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru