Обсуждение Программирование на C/C++

Re: Программирование на C/C++
А как создать в Builder'e двумерный динамический массив, при этом чтобы размерность массива я задавал сам? Желательно при помощи операции new.
 

SunnyMan

Namynnuz
Re: Программирование на C/C++
А как создать в Builder'e двумерный динамический массив, при этом чтобы размерность массива я задавал сам? Желательно при помощи операции new.
Код:
int i=1,j=1;

int **arr = new int *[i];

for (int k=0;k<i;k++)
    {
    arr[k] = new int [j];
    }
То есть создаешь сначала массив указателей, каждому элементу которого присваиваешь указатель на массив значений.
 

CanR

Ословед
Re: Программирование на C/C++
Добрый вечер, решил разобраться с работой с++ и MySql взял пример из инета но чтото не хочет он работать)
PHP:
#include <windows.h>
#include <winsock2.h>
#pragma hdrstop
#include <my_global.h>
#include <mysql.h>
#include <iostream.h>

WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    mysql_server_init(0, NULL, NULL);
    MYSQL* db = mysql_init(NULL);
    mysql_real_connect(db, "localhost", "root", "pass", "test", 0, NULL, 0);
    mysql_query(db, "SELECT * FROM table");
    MYSQL_RES* result = mysql_store_result(db);
    MYSQL_ROW row = mysql_fetch_row(result);
    cout << "1st row, 1st field: " << row[0];
    mysql_close(db);
    mysql_server_end();

  return 0;
}
Выдает Access Violation на "mysql_real_connect(db, "localhost", "root", "pass", "test", 0, NULL, 0);"
 

walrus

Ословед
Re: Программирование на C/C++
Здравствуйте. У меня вопрос не по программированию, а по выбору среды.

Делаю проект, необходимо сделать:
1. Графический интерфейс (сойдёт стандартный окошечный).
2. Небольшая работа с графическими файлами (наклейка png друг на друга с поворотами).
3. Работа с сетью (скорее всего, через сокеты).

Язык С++ (не надо заморочек с Java или C#)

Хочется среду (IDE), чтобы без особых заморочек и без установки лишнего реализовать всё это. Пока варианты Microsoft Visual Studio (много лишнего, потому и ищу что "попроще") и Embarcadero RAD Studio (aka CodeGear RAD Studio - пока не пробовал).

Если кому интересно, то примерный ожидаемый результат можно посмотреть в моей подписи (первая ссылка).
 

    SunnyMan

    очки: 45
    Пожалста. Вот только borland-костыли для перебезчиков с delphi не есть супер. Такая же палитра есть и в MSVS (в некоторых проектах). Лично для меня визуалка - средство несколько более контролируемое. Да и тот же J# можно просто тупо не ставить :)

SunnyMan

Namynnuz
Re: Программирование на C/C++
Здравствуйте. У меня вопрос не по программированию, а по выбору среды.

Делаю проект, необходимо сделать:
1. Графический интерфейс (сойдёт стандартный окошечный).
2. Небольшая работа с графическими файлами (наклейка png друг на друга с поворотами).
3. Работа с сетью (скорее всего, через сокеты).

Язык С++ (не надо заморочек с Java или C#)

Хочется среду (IDE), чтобы без особых заморочек и без установки лишнего реализовать всё это. Пока варианты Microsoft Visual Studio (много лишнего, потому и ищу что "попроще") и Embarcadero RAD Studio (aka CodeGear RAD Studio - пока не пробовал).

Если кому интересно, то примерный ожидаемый результат можно посмотреть в моей подписи (первая ссылка).
Ну и пользуй С++ Builder от студии Borland. Богатая палитра компонентов, дополнительные модули (привет, Delphi!). Хотя, к примеру, работу с картинками можно реализовать на любом VC++, хоть на OpenGL, хоть на DirectX (а тут тебе аж сразу два варианта - устаревший DirectDraw и Direct3D), хоть на WinAPI (GDI, GDI+). А в билдере для формы реализован класс Canvas (как раз, помоему, надстройка над GDI). ClientSocket там есть. Пользуйся :)
 

    walrus

    очки: 31
    Спасибо

~T Mac~

Ословед
Re: Программирование на C/C++
Народ помогите написать программу.... "составить программу, определяющую является ли число числом-палиндромом"
и еше одну "для заданной целочисленной матрицы найти максимум среди сумм элементов диагоналей, параллельных главной диагонали"
ЗЫ на обычном турбо С..... из библиотек известно только <stdio.h><math.h> из операторов(присваивание, циклы, условный) (логические условия (и или не)
ЗЫЫ помогите плиз ваще не понимаю че от меня тут нада
 

SunnyMan

Namynnuz
Re: Программирование на C/C++
Народ помогите написать программу.... "составить программу, определяющую является ли число числом-палиндромом"
и еше одну "для заданной целочисленной матрицы найти максимум среди сумм элементов диагоналей, параллельных главной диагонали"
ЗЫ на обычном турбо С..... из библиотек известно только <stdio.h><math.h> из операторов(присваивание, циклы, условный) (логические условия (и или не)
ЗЫЫ помогите плиз ваще не понимаю че от меня тут нада
Ну не знаю..

Первое - число-плиндром. Палиндром - зеркально выглядящее слово\число. Вроде дед или 101. Самый простейший алгоритм - берем число, узнаем количество цифр в нем (наверное прокатит что-то вроде strlen(inttostr(a)); потому как турбосиха борландовская), далее, в зависимости от того, четное оно или нет, мы соответственно (не)выкидываем из рассмотрения среднюю цифру. Потом сравниваем симметрично крайние цифры относительно центра (да хоть в массив загони, если на лету будет тяжко, а сами цифры можно получить делением по модулю десяти).

Второе - найди где-нить в инете или выведи сам итерационные формулы для получения диагоналей. На главной i=j. По сути, тебе нужно создать массив a[n][n] (матрицу), в которой будут находиться эти элементы, а потом складывать для диагоналей и смотреть, какая из них максимальная.
i 0 1 2 3 j
|0 1 2 3|0
|0 2 3 4|
1
|1 4 8 7|
2
|2 4 5 0|
3

Вот даже, цветом выделил. Сумма главной будет 0+2+8+0 и т.д.
 
Re: Программирование на C/C++
Народ помогите написать программу.... "составить программу, определяющую является ли число числом-палиндромом"
и еше одну "для заданной целочисленной матрицы найти максимум среди сумм элементов диагоналей, параллельных главной диагонали"
ЗЫ на обычном турбо С..... из библиотек известно только <stdio.h><math.h> из операторов(присваивание, циклы, условный) (логические условия (и или не)
ЗЫЫ помогите плиз ваще не понимаю че от меня тут нада
Если не понимаешь даже что от тебя надо, то тебе и в программировании делать нефиг=) Я эти задачки в 16 лет решал как орешки...
З.Ы. С распространением интернета народ всё тупее и тупее... К сожалению...
 

SunnyMan

Namynnuz
Re: Программирование на C/C++
Если не понимаешь даже что от тебя надо, то тебе и в программировании делать нефиг=) Я эти задачки в 16 лет решал как орешки...
З.Ы. С распространением интернета народ всё тупее и тупее... К сожалению...
Ты еще скажи "рэп кал, слушай металл? зря-зря" :)
Просто у некоторых людей не тот склад ума или же им просто лень разбираться (возможно тупо объясняли), а выполнять задания надо. Ладно прикладники, вон, у психологов даже есть кодинг.
 

~T Mac~

Ословед
Re: Программирование на C/C++
блин....задачи про программированию я решаю нормально.... я тупо не понимаю что значит число палиндром? или 2 задачу я понял но как решать не ясно....я её на С вбил...компилятор все принял но выдавыл на выполнении ошибку стак оверфлоу.... поэтому и попросил их решить мне....
 

SunnyMan

Namynnuz
Re: Программирование на C/C++
блин....задачи про программированию я решаю нормально.... я тупо не понимаю что значит число палиндром? или 2 задачу я понял но как решать не ясно....я её на С вбил...компилятор все принял но выдавыл на выполнении ошибку стак оверфлоу.... поэтому и попросил их решить мне....
Так решить или помочь? :)

Палиндромы: 225522; Но невидим архангел, мороз узором лег на храм и дивен он; 12321 и т.д.
 
Re: Программирование на C/C++
блин....задачи про программированию я решаю нормально.... я тупо не понимаю что значит число палиндром? или 2 задачу я понял но как решать не ясно....я её на С вбил...компилятор все принял но выдавыл на выполнении ошибку стак оверфлоу.... поэтому и попросил их решить мне....
Так ты хоть покажи кусок, где этот Stack overflow возникает. Обычно такое исключение возникает при неправильном условии выхода из рекурсии, или даже просто при слишком большой ее глубине.
 

SunnyMan

Namynnuz
Re: Программирование на C/C++
Так ты хоть покажи кусок, где этот Stack overflow возникает. Обычно такое исключение возникает при неправильном условии выхода из рекурсии, или даже просто при слишком большой ее глубине.
Вот ты видишь смысл в рекурсии? В общем виде - жрет память, тяжело контролировать объем. Ну и пусть будет не так изящно реализовано, циклы еще никто не отменял.
 
Re: Программирование на C/C++
Ты еще скажи "рэп кал, слушай металл? зря-зря" :)
Ну... Я так-то тусовщик=)) Что рэп, что металл - для меня всё это бред сивой кобылы... А вот клубнячек!!! :thumbup:

Просто у некоторых людей не тот склад ума или же им просто лень разбираться (возможно тупо объясняли), а выполнять задания надо. Ладно прикладники, вон, у психологов даже есть кодинг.
А здесь вынужден согласиться... Тупизм нашего высшего образования в том, что не математикам пытаются еще и программирование впихнуть... Это жесть, да...
З.Ы. Как сказал один очень умный человек "В мире есть два типа людей: с математическим складом ума, и все остальные"=)
Вот ты видишь смысл в рекурсии? В общем виде - жрет память, тяжело контролировать объем. Ну и пусть будет не так изящно реализовано, циклы еще никто не отменял.

Хм... Смысл в рекурсии вообще, или именно в данном контексте?
Если вообще, то смысл ОООООчень даже есть... Например пробежаться по всем каталогам, включая подкаталоги... Тут без рекурсии никак, а рекурсией решается задача одной функцией=)
Рекурсия нужна там, где повторяющееся действие, неизвестное количество раз, и с неизвестным количеством подуровней=) Вывод дерева каталогов - яркий пример
 

    SunnyMan

    очки: 50
    :) тынц-тынц-тынц :)

SunnyMan

Namynnuz
Re: Программирование на C/C++
Рекурсия нужна там, где повторяющееся действие, неизвестное количество раз, и с неизвестным количеством подуровней=) Вывод дерева каталогов - яркий пример
В данном конкретном случае как раз поиск палиндрома вполне можно забабахать через рекурсию, мы же повторяем одинаковые действия сравнения, шагая от центра или наоборот. Все равно. Для обхода дерева можно рекурсивный переписать в итерационный метод (их же вроде как два, обход вглубь и вширь?). Вообще один фиг :) Ну не нравится мне рекурсия. И дело даже не в мозголомстве (а когда перегружаемая функция, а еще лучше - с произвольным числом аргументов - вот тогда получается зарядка для ума, вот так с ума и сходят :crazy2:), просто не воспринимаю. Разубедите меня? :)
 
Re: Программирование на C/C++
всё правильно.. нафиг эта рекурсия
её можно и циклами сделать
 

Bob

Ословед
Re: Программирование на C/C++
Товарищи,
не убивайте тупого чайника, только начал Ц++ изучать:
Нашел функцию:
BOOL StrToIntEx(LPCTSTR pszString,
STIF_FLAGS dwFlags,
int *piRet
);

Конвертит String1 в десятичное число.
У меня этот String1 объявлен так:
char *String1= (char*)malloc(10);
Но при вызове функции StrToIntEx, компилятор ругается и пишет, что не может преобразовать параметр 1 из "char *" в "LPCWSTR", требуется приведение типов....
Как это сделать ? Как указатель на массив чаров привести к этому LPCWSTR ?
 
Сверху