Вопрос № 161541: Здравствуйте Эксперты! Как можно сделать на с.с++ в линуксе запрос к базе данных, считать данные с определенного файла. Спасибо...
Вопрос № 161557: Здравствуйте уважаемые эксперты!!!! Помогите пожалуйста решить задание: Даны три матрицы А(2;2) В(2;3) С(4;3). В каждом из этих матриц найти максимальный элемент и заменить его нулем....
Вопрос № 161.541
Здравствуйте Эксперты! Как можно сделать на с.с++ в линуксе запрос к базе данных, считать данные с определенного файла. Спасибо
Отправлен: 27.02.2009, 13:56
Вопрос задал: Bobsa (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 5)
Отвечает: Dr_Andrew
Здравствуйте, Bobsa! К сожалению, Вы не указали к какой именно базе данных необходимо сделать подключение. Предположим, что имеется база данных MySQL с названием Brucellosis. База данных содержит единственную таблицу с данными заболеваемости; название таблицы Incidence. В таблице имеются поля: ID, Year, Territory, Number_adults, Incidence_adults. Для написания приложения для подключения к базе данных воспользуемся средствами библиотеки Qt 3.x. По умолчанию в большинстве дистрибутивов Linux обычно установлен
драйвер базы данных SQLite; для работы с базой данных MySQL необходимо установить дополнительный пакет (в Fedora 7 это qt-MySQL-3.3.8-4.fc7.i386.rpm). Первоначально программа должна установить соединение с базой данных, исходя из настроек, выбранных пользователем. Окно настроек подключения может выглядеть так:
Код окна см. в прикр
еплённом файле (класс TConnectionForm). Затем пользователь выбирает таблицу базы данных для редактирования. Окно выбора таблицы может выглядеть так:
Код окна см. прикреплённом файле (класс TTablesForm). Окно программы с открытой для редактирования таблицей может выглядеть так:
Код окна см. прикреплённом файле (класс TMainForm). Разумеется, это только шаблон, для придания которому полной функциональности требуется значительная доработка, но функции редактирования таблиц баз данных MySQL программа выполняет. Удачи!
Прикреплённый файл: Загрузить >> Срок хранения файла на сервере RusFAQ.ru составляет 30 суток с момента отправки ответа.
Ответ отправил: Dr_Andrew (статус: Специалист)
Ответ отправлен: 27.02.2009, 16:43
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 244652 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 161.557
Здравствуйте уважаемые эксперты!!!! Помогите пожалуйста решить задание: Даны три матрицы А(2;2) В(2;3) С(4;3). В каждом из этих матриц найти максимальный элемент и заменить его нулем.
Отправлен: 27.02.2009, 16:54
Вопрос задал: dmi_5116 (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
// Заполняет матрицу случайными значениями и ваводит на экран void initializeMatrix(const
wchar_t* const msg,double* matrix,unsigned int dim1,unsigned int dim2) { wcout<<msg<<endl; for(unsigned int i=0;i<dim1;i++) { for(unsigned int j=0;j<dim2;j++) { wcout<<setw(7)<<setprecision(5)<<(*matrix++=(double)rand()/RAND_MAX*50)<<L' '; } wcout<<endl; } }
// Заменяет максимальный элемент нулем и выводит полученную матрицу void changeMax2
Zero(const wchar_t* const msg,double* matrix,unsigned int dim1,unsigned int dim2) { double *end=matrix+dim1*dim2 ,*mPtr=matrix ,*max=matrix; // Ищем максимальный while(mPtr!=end) { if(*max<*mPtr)max=mPtr; mPtr++; } // Меняем на 0 *max=0; // Выводим результат wcout<<msg<<endl; for(unsigned int i=0;i<dim1;i++) { for(unsigned int j=0;j<dim2;j++) wcout<<setw(7)<<setprecision(5)<<*matrix++<<L'
'; wcout<<endl; } }
int main() { // Инициализация генератора случайных чисел srand((unsigned int)time(0)); locale::global(locale("rus_rus.866")); // Размерности матриц const int dimA1=2, dimA2=2; const int dimB1=2, dimB2=3; const int dimC1=4, dimC2=3; // Матрицы double A[dimA1][dimA2],B[dimB1][dimB2],C[dimC1][dimC2]; // Заполняем их initializeMatrix(L&qu
ot;Матрица A:",&A[0][0],dimA1,dimA2); initializeMatrix(L"Матрица B:",&B[0][0],dimB1,dimB2); initializeMatrix(L"Матрица C:",&C[0][0],dimC1,dimC2); // Результат changeMax2Zero(L"Матрица A после замены максимального на 0:",&A[0][0],dimA1,dimA2); changeMax2Zero(L"Матрица B после замены максимального на 0:",&B[0][0],dimB1,dimB2); changeMax2Zero(L"Матрица C после замены максимального на 0:",&C[0][0],dimC1,dimC2); system("PAUSE"); return
0; }
Пример работы:
Код:
Матрица A: 34.451 7.7883 37.916 8.3041 Матрица B: 6.212 36.123 47.932 15.577 5.3575 27.076 Матрица C: 6.0854 9.4928 34.191 11.658 30.612 26.5
94 34.393 35.932 44.958 36.59 1.6373 23.457 Матрица A после замены максимального на 0: 34.451 7.7883 0 8.3041 Матрица B после замены максимального на 0: 6.212 36.123 0 15.577 5.3575 27.076 Матрица C после замены максимального на 0: 6.0854 9.4928 34.191 11.658 30.612 26.594 34.393 35.932 0 36.59 1.6373 23.457
Ответ отправил: Micren (статус: Студент)
Ответ отправлен: 27.02.2009, 18:28
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 244660 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.