Пятница, 29 Ноября 2024, 19:36

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Результаты поиска
froexДата: Среда, 31 Августа 2011, 13:27 | Сообщение # 181 | Тема: Заплачю тому кто сделает браузерную игру
Руководитель Froexilize team
Сейчас нет на сайте
Livine, на основной работе я заказчикам помогаю составлять тех. задание иногда. За такую услугу я беру от 500 рублей.

Не превращайте форум в чат. Пишите более развернуто и понятно - всё равно вас попросят объяснить подробнее.
Алгоритмы, программирование, оптимизация, тестирование, ведение проектов.
Ищу художника, дизайнера, тестера, программистов С и С++
Обучаю процессам разработки и программированию.
froexДата: Среда, 31 Августа 2011, 12:28 | Сообщение # 182 | Тема: Простая БД
Руководитель Froexilize team
Сейчас нет на сайте
Sholar,
Я могу сделать тебе на wxWidgets. С WinAPI не работаю принципиально)))

Добавлено (31.08.2011, 12:28)
---------------------------------------------
Sholar,
Sholar.7z
Для работы прочти, как собирать wxWidgets и пользоваться wxFormBuilder - это максимально упростит тебе задачу.
Статьи

--
Содержание архива Sholar.7z:
- исходники
- Makefile и .bat-файлы сборки/чистки проекта
- исполняемый файл малого размера (запакован)
- файл форм wxFormBuilder
- установщик необходимых для работы программы wxWidgets-библиотек
- ссылка на мой сайт


Не превращайте форум в чат. Пишите более развернуто и понятно - всё равно вас попросят объяснить подробнее.
Алгоритмы, программирование, оптимизация, тестирование, ведение проектов.
Ищу художника, дизайнера, тестера, программистов С и С++
Обучаю процессам разработки и программированию.


Сообщение отредактировал froex - Среда, 31 Августа 2011, 12:31
froexДата: Среда, 31 Августа 2011, 11:40 | Сообщение # 183 | Тема: Подключение OpenGL и первая программа
Руководитель Froexilize team
Сейчас нет на сайте


Не превращайте форум в чат. Пишите более развернуто и понятно - всё равно вас попросят объяснить подробнее.
Алгоритмы, программирование, оптимизация, тестирование, ведение проектов.
Ищу художника, дизайнера, тестера, программистов С и С++
Обучаю процессам разработки и программированию.


Сообщение отредактировал froex - Среда, 31 Августа 2011, 11:43
froexДата: Среда, 31 Августа 2011, 09:31 | Сообщение # 184 | Тема: Подключение OpenGL и первая программа
Руководитель Froexilize team
Сейчас нет на сайте


Не превращайте форум в чат. Пишите более развернуто и понятно - всё равно вас попросят объяснить подробнее.
Алгоритмы, программирование, оптимизация, тестирование, ведение проектов.
Ищу художника, дизайнера, тестера, программистов С и С++
Обучаю процессам разработки и программированию.


Сообщение отредактировал froex - Среда, 31 Августа 2011, 09:32
froexДата: Среда, 31 Августа 2011, 01:01 | Сообщение # 185 | Тема: Массивы и метки в C++
Руководитель Froexilize team
Сейчас нет на сайте
Я как-то рассматривал задачи поиска дефектов кубических и многопространственных объектов. При нахождении дефекта выход из поиска очень сложно осуществить посредством break-операторов. Без goto я мог обойтись только с трудом. goto облегчило алгоритм.

Не превращайте форум в чат. Пишите более развернуто и понятно - всё равно вас попросят объяснить подробнее.
Алгоритмы, программирование, оптимизация, тестирование, ведение проектов.
Ищу художника, дизайнера, тестера, программистов С и С++
Обучаю процессам разработки и программированию.
froexДата: Среда, 31 Августа 2011, 00:38 | Сообщение # 186 | Тема: Массивы и метки в C++
Руководитель Froexilize team
Сейчас нет на сайте
noTformaT, ладно, я относительно недавно приехал домой, поэтому не в состоянии сильно задумываться. Можно продолжить разговор в следующий раз. Я обговорю ещё эту тему со своим руководителем. Потом сообщу результаты разборов. Спасибо за интересную беседу.

Не превращайте форум в чат. Пишите более развернуто и понятно - всё равно вас попросят объяснить подробнее.
Алгоритмы, программирование, оптимизация, тестирование, ведение проектов.
Ищу художника, дизайнера, тестера, программистов С и С++
Обучаю процессам разработки и программированию.
froexДата: Среда, 31 Августа 2011, 00:22 | Сообщение # 187 | Тема: Сложный выбор - видеокарты или материнская плата.
Руководитель Froexilize team
Сейчас нет на сайте
Barbatos, даже не стараюсь думать. Либо накопи ещё совсем чуток на высокий класс видеокарты, либо не траться на переходный класс.

Не превращайте форум в чат. Пишите более развернуто и понятно - всё равно вас попросят объяснить подробнее.
Алгоритмы, программирование, оптимизация, тестирование, ведение проектов.
Ищу художника, дизайнера, тестера, программистов С и С++
Обучаю процессам разработки и программированию.
froexДата: Среда, 31 Августа 2011, 00:18 | Сообщение # 188 | Тема: Массивы и метки в C++
Руководитель Froexilize team
Сейчас нет на сайте
Quote (noTformaT)
int a[10];
a = a + 1;

Ну конечно не компилируется. Надо осознавать разницу между именующими и значащими выражениями: lvalue = rvalue. Иначе присвоения никак не может быть.

Добавлено (31.08.2011, 00:18)
---------------------------------------------
Если не ошибаюсь, то по значащим и именующим выражениям можно почитать справочник Рей Лишнера по С++, страницы 80-90. Помню только, что до сотой :Р


Не превращайте форум в чат. Пишите более развернуто и понятно - всё равно вас попросят объяснить подробнее.
Алгоритмы, программирование, оптимизация, тестирование, ведение проектов.
Ищу художника, дизайнера, тестера, программистов С и С++
Обучаю процессам разработки и программированию.


Сообщение отредактировал froex - Среда, 31 Августа 2011, 00:18
froexДата: Среда, 31 Августа 2011, 00:04 | Сообщение # 189 | Тема: Массивы и метки в C++
Руководитель Froexilize team
Сейчас нет на сайте
Массив - это структура данных всего-лишь. Я не знаю, кто говорил, что это указатель.

Не превращайте форум в чат. Пишите более развернуто и понятно - всё равно вас попросят объяснить подробнее.
Алгоритмы, программирование, оптимизация, тестирование, ведение проектов.
Ищу художника, дизайнера, тестера, программистов С и С++
Обучаю процессам разработки и программированию.
froexДата: Среда, 31 Августа 2011, 00:00 | Сообщение # 190 | Тема: Сложный выбор - видеокарты или материнская плата.
Руководитель Froexilize team
Сейчас нет на сайте
Я больше обращаю внимание на кэш. Это актуально на RISC-архитектурах.
Когда я себе решил поменять видео-карту однажды, то пришлось менять материнку, процессор, оперативную память ещё. Когда сам будешь менять - смотри совместимость внимательней. А то, что выбор по объёму видеопамяти идёт - это лишь преимущественно для исключения разделения памяти. Если кэш будет больше - другой разговор, т.к. в конвейер больше инструкций поместится. Вообще, нормальную видео-карту за 6 тысяч не купишь. Та же GTX280 стоит 9к-10к. С другой стороны зачем такие навороты, если можно купить среднюю конфигурацию проц+видюха+мать за 8 тысяч.


Не превращайте форум в чат. Пишите более развернуто и понятно - всё равно вас попросят объяснить подробнее.
Алгоритмы, программирование, оптимизация, тестирование, ведение проектов.
Ищу художника, дизайнера, тестера, программистов С и С++
Обучаю процессам разработки и программированию.
froexДата: Вторник, 30 Августа 2011, 23:54 | Сообщение # 191 | Тема: Массивы и метки в C++
Руководитель Froexilize team
Сейчас нет на сайте
Да поймите вы.
Если объявлен указатель на некий тип данных, то увеличение этого указателя на единицу изменяет адрес, хранящийся в этом указателе на размер в байтах типа указателя.
Пример 1:
int *a; // указатель на целое число. a+1 даст нам адрес "a" плюс 4 байта.
Пример 2:
char *c; // указатель на символ. c+1 даст нам адрес "c" плюс 1 байт.

Могу ещё привести пример. Допустим, что изобретём велосипед и напишем свою функцию копирования строки. Тут и массивы используются, и разыменования, и приращение адресов. Чтобы после приращения адресов нам не терять начало выделенной области памяти, мы сохраняем значение указателя в ещё одной переменной.
Code
#include <iostream>
#include <string.h>
#include <stdlib.h>

char *string_copy(char *src, char* dst)
{
   char *res = dst;
   while(*dst++=*src++);
      *dst=0;
      return res;
}

int main()
{
      char *string1 = "temp string";
      char *string2;
      std::cout << string1 << std::endl;
      string2 = (char*)malloc(sizeof(char)*(unsigned)strlen(string1));
      std::cout << string_copy(string1, string2) << std::endl;
      return 0;
}

Добавлено (30.08.2011, 23:54)
---------------------------------------------
Я уже показывал, что такое массив. Не спрашивайте меня, где он тут в коде - должно быть и так ясно.


Не превращайте форум в чат. Пишите более развернуто и понятно - всё равно вас попросят объяснить подробнее.
Алгоритмы, программирование, оптимизация, тестирование, ведение проектов.
Ищу художника, дизайнера, тестера, программистов С и С++
Обучаю процессам разработки и программированию.


Сообщение отредактировал froex - Вторник, 30 Августа 2011, 23:53
froexДата: Вторник, 30 Августа 2011, 18:40 | Сообщение # 192 | Тема: Бесконечная история
Руководитель Froexilize team
Сейчас нет на сайте

И тогда яйцо serg-kkz отвалилось


Не превращайте форум в чат. Пишите более развернуто и понятно - всё равно вас попросят объяснить подробнее.
Алгоритмы, программирование, оптимизация, тестирование, ведение проектов.
Ищу художника, дизайнера, тестера, программистов С и С++
Обучаю процессам разработки и программированию.
froexДата: Вторник, 30 Августа 2011, 18:35 | Сообщение # 193 | Тема: Массивы и метки в C++
Руководитель Froexilize team
Сейчас нет на сайте
Quote (noTformaT)
Про 4 я не понял о чем ты, какие 2.5? Вот именно про 2.5 не понял.

в массиве 4 элемента. Массив - это неразрывный блок памяти. Все эелменты массива в адресе хранятся друг за другом. Существует 4 элемента целого типа - 4 элемента по 4 байта. Если следовать идеологии, что перед первым элементом в памяти будет храниться размер массива, то автор вручную хочет править миром, если не следовать это идеологии, то автор несет бред. Хотя бред в любом случае.
Если объявлен массив:
int array[10];
то array - это указатель на область памяти, где находится целое число.
Запись array+1 будет возвращать адрес следующего элемента массива.
array - это указатель на целое, следовательно array+1 переводить нас будет на sizeof(int) в области памяти, т.е. на 4 байта. Так мы и получим адрес следующего элемента массива. Для примера, логическое выражение
(array[1] == (array+1)[0]) вернёт истину
(array[1] == *(array+1)) вернёт истину

Чем заниматься такими разборками - приведу код:
http://liveworkspace.org/code/da4eee87ba019af8f42af1d86429d9a0
Code

#include <iostream>

int main()
{
    int *a; // указатель на целое
    int array[5] = {0,1,2,3,4}; // массив из 5 чисел
    a = array;

    for(int i=0;i<5;++i)
       std::cout << array[i];
    std::cout <<std::endl;

    for(int i=0;i<5;++i)
       std::cout << a[i];
    std::cout <<std::endl;

    std::cout << a << ' ' << array << std::endl;
     
    std::cout << (array[1] == (array+1)[0]) << std::endl;
    std::cout << (array[1] == *(array+1)) << std::endl;
     
    return 0;
}

И результат выполнения:
Code
01234
01234
0xbfe011f0 0xbfe011f0
1
1

Добавлено (30.08.2011, 18:35)
---------------------------------------------
Я офф, буду к ночи - если код на вас не произвёл впечатления, я хз, как ещё объяснить. Вроде всё доказывает.


Не превращайте форум в чат. Пишите более развернуто и понятно - всё равно вас попросят объяснить подробнее.
Алгоритмы, программирование, оптимизация, тестирование, ведение проектов.
Ищу художника, дизайнера, тестера, программистов С и С++
Обучаю процессам разработки и программированию.
froexДата: Вторник, 30 Августа 2011, 18:23 | Сообщение # 194 | Тема: Бесконечная история
Руководитель Froexilize team
Сейчас нет на сайте


Не превращайте форум в чат. Пишите более развернуто и понятно - всё равно вас попросят объяснить подробнее.
Алгоритмы, программирование, оптимизация, тестирование, ведение проектов.
Ищу художника, дизайнера, тестера, программистов С и С++
Обучаю процессам разработки и программированию.
froexДата: Вторник, 30 Августа 2011, 18:18 | Сообщение # 195 | Тема: Массивы и метки в C++
Руководитель Froexilize team
Сейчас нет на сайте
Ах, да - соглашусь, что массив - это не указатель.

Добавлено (30.08.2011, 18:18)
---------------------------------------------
Kornival, может не так выразился... читай как "используется динамическая память". Опять же - читаем гугл, в чём различие между статической и динамической памятью. Я старался подробней описать ситуацию, когда возникает конфликт.


Не превращайте форум в чат. Пишите более развернуто и понятно - всё равно вас попросят объяснить подробнее.
Алгоритмы, программирование, оптимизация, тестирование, ведение проектов.
Ищу художника, дизайнера, тестера, программистов С и С++
Обучаю процессам разработки и программированию.
froexДата: Вторник, 30 Августа 2011, 18:14 | Сообщение # 196 | Тема: Массивы и метки в C++
Руководитель Froexilize team
Сейчас нет на сайте
noTformaT, автор сам не знает, что пишет. Честно говорю.
Code
int a[4]  = { 1, 2, 3, 4 };
int *p = a; //неявное преобразование массива к указателю на его первый элемент.
p = p + 2; //с массивом такое не пройдёт.
p[-1] = 10; //этот указатель указывает теперь в середину массива, поэтому можно присваивать в отрицательные индексы.

комментирую по строкам:
1. Хотя бы знает, как инициализировать массив - то радует.
2. Это явное присваивание адресов во время инициализации указателя. Никаких преобразований нет.
3. http://gcup.ru/forum/62-16908-3#278994 - тут см. первую задачку. Там проходит, а у автора нет?
4. По стандарту в "-1"-ом элементе можно откопать размер массива. Автор не говорит, что int занимает 4 байта. Если структуры данных построенны в программе по стандарту (то компилятор решает, а не пользователь), то автор даёт указания смены размера. int занимает 4 байта, т.е. получается 2,5 целых чисел. Именно целых, т.к. указатель тычет на целое. Ладно, что автор не "а[-1]" так меняет, а то хз, куда бы пропали остальные 1,5 элемента массива.

Сохраню ссылку - вечером его дочитаю, на утро хорошо с улыбкой на утро ложиться баиньки.

Добавлено (30.08.2011, 18:14)
---------------------------------------------
btw, два кода идентичны:
Code
int main(int argc, char *argv[])

Code
int main(int argc, char **argv)


Не превращайте форум в чат. Пишите более развернуто и понятно - всё равно вас попросят объяснить подробнее.
Алгоритмы, программирование, оптимизация, тестирование, ведение проектов.
Ищу художника, дизайнера, тестера, программистов С и С++
Обучаю процессам разработки и программированию.


Сообщение отредактировал froex - Вторник, 30 Августа 2011, 18:19
froexДата: Вторник, 30 Августа 2011, 17:52 | Сообщение # 197 | Тема: Массивы и метки в C++
Руководитель Froexilize team
Сейчас нет на сайте
int array[100] - объявление массива на 100 элементов
int *a - объявление указателя на целое
a = array - с указателем "a" теперь можно работать как с массивом (инфа 100%)
a[60] - обращение к 61-му элементу массива (получение его значения)
a+60 - это адрес 61-го элемента массива в памяти

При передаче массива в функцию выгодней передавать указатель на него, либо ссылку, чтобы не прогонять через стек весь массив/не вызывать конструктор копирования/и т.п.
Допустим, заголовок функции:
void get_array(int *src)

Тогда передаём в функцию наш объявленный массив простым вызовом:
get_array(array)

Запись вида
get_array(*array)
означает, что мы сначала разыменовываем указатель array, т.е. мы передадим значение по адресу (array указывает на первый элемент массива. Разыменовав, получив значение первого элемента массива). Это не передача массива явно.

Добавлено (30.08.2011, 17:50)
---------------------------------------------
btw, загонять объявления в цикл с безусловных переходом недопустимо, т.к. оптимизация кода может "проглотит" недочет. Тогда все объявления будут требовать дополнительную память и располагаться по новым адресам. Т.к. цикл с безусловным переходом не имеет фактического тела цикла, а только формальное, то при "случайной" оптимизации компилятором кода будет пропущен вызов деструктора либо его вообще не будет создано до окончания фактического тела конструкции. Другими словами, будет засоряться память и может наступить переполнение.

Добавлено (30.08.2011, 17:52)
---------------------------------------------
И ещё - в моём примере выше указатели "a" и "array" содержат один и тот же адрес - указывают на одну и ту же область памяти.


Не превращайте форум в чат. Пишите более развернуто и понятно - всё равно вас попросят объяснить подробнее.
Алгоритмы, программирование, оптимизация, тестирование, ведение проектов.
Ищу художника, дизайнера, тестера, программистов С и С++
Обучаю процессам разработки и программированию.


Сообщение отредактировал froex - Вторник, 30 Августа 2011, 17:54
froexДата: Вторник, 30 Августа 2011, 17:08 | Сообщение # 198 | Тема: Бесконечная история
Руководитель Froexilize team
Сейчас нет на сайте
Quote (Niro)
Я во многом с ним тоже прав, но на оскорбления переходить не нужно.

Ещё до Кафкянского начались в его сторону неприятные фразы. Сами завели его, сами расхлебывайте. Детский сад.


Не превращайте форум в чат. Пишите более развернуто и понятно - всё равно вас попросят объяснить подробнее.
Алгоритмы, программирование, оптимизация, тестирование, ведение проектов.
Ищу художника, дизайнера, тестера, программистов С и С++
Обучаю процессам разработки и программированию.
froexДата: Вторник, 30 Августа 2011, 15:02 | Сообщение # 199 | Тема: пароль на счетной записи.
Руководитель Froexilize team
Сейчас нет на сайте
Strateg, удачи.

Не превращайте форум в чат. Пишите более развернуто и понятно - всё равно вас попросят объяснить подробнее.
Алгоритмы, программирование, оптимизация, тестирование, ведение проектов.
Ищу художника, дизайнера, тестера, программистов С и С++
Обучаю процессам разработки и программированию.
froexДата: Вторник, 30 Августа 2011, 15:01 | Сообщение # 200 | Тема: Массивы и метки в C++
Руководитель Froexilize team
Сейчас нет на сайте
Kornival, ты не видишь указателя?

Добавлено (30.08.2011, 15:01)
---------------------------------------------
Для справки почитай информацию по статической и динамической памяти и их различие.


Не превращайте форум в чат. Пишите более развернуто и понятно - всё равно вас попросят объяснить подробнее.
Алгоритмы, программирование, оптимизация, тестирование, ведение проектов.
Ищу художника, дизайнера, тестера, программистов С и С++
Обучаю процессам разработки и программированию.
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг