Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 629 • Страница 27 из 32<  1 ... 24  25  26  27  28  29  30 ... 32  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 17.02.2009
Откуда: Россия, Пермь
Сюда вообще заглядывают?

_________________
СЧАСТЬЕ ДЛЯ ВСЕХ, ДАРОМ, И ПУСТЬ НИКТО НЕ УЙДЁТ ОБИЖЕННЫЙ!(c)Стругацкие Пикник на обочине



Партнер
 

Заблокирован
Заблокирован
Статус: Не в сети
Регистрация: 27.04.2010
нафиг кому надо разбираться в этом алгоритме

_________________
избранный пришел


 

Member
Статус: Не в сети
Регистрация: 06.05.2009
В otv походу сохранаются индексы элементов X, хз зачем.
1) если система имеет вид Ax=0, то нужно привести матрицу A к треугольному виду (диагональные элементы не обязательно должны быть не равны нулю- можно применить м.Гаусса с ведущим столбцом [+ точность вычислений будет выше]); если ранг получившейся матрицы будет меньше размерности A, то решений бесконечно много и вряд ли стоит искать ФСР.
Иначе обратным ходом все иксы вытаскиваются по порядку, начиная с последнего
2) если система имеет вид Ax=B, то все нужно проворачивать с расширенной матрицей [A|B] и в после приведения A к треугольному виду дополнительно исследовать систему на совместность.

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


 

Member
Статус: Не в сети
Регистрация: 20.03.2009
Откуда: Санкт-Петербург
Приветствую. Есть консольная прога на С++, но надо её сделать с помощью MFC. Уже умею создавать окно, менюшки, диалоговые окна. Но возникла проблема: я просто не понимаю, как интегрировать туда мою ранее написанную программу. Ведь вся теперяшняя прога состоит из кучи классов+она запускается объявлением класса, производного от CWinApp. Тут же даже ф-ии main нет, как теперь работать с указателями??? :insane: В общем, подскажите, где про это хорошо написано. Пожалуйста. Уже крыша едет...

_________________
Задачи бывают простыми и очень простыми...


 

Junior
Статус: Не в сети
Регистрация: 07.07.2010
Откуда: Калининград
Всем привет.
Есть такая программа, написанная на Visual Studio 2010 c++

[test4]#include "stdafx.h"
#include <iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
setlocale (LC_ALL,"");
char str[80];
cout << "Введите строку: ";
gets(str);
cout << "Вот ваша строка: ";
cout << str<<endl;
return 0;[/test4]

Но вот такую абра-кадабру она мне выдает:

#77

Много искал, но ничего толкового не нашел, помоги, кто может.


 

Member
Статус: Не в сети
Регистрация: 20.03.2009
Откуда: Санкт-Петербург
evgeny1503
Точно не помню, но нужно в код дописать 2 строчки для шрифтов, а в свойствах шрифтов консоли указать Люсинда Консол.

_________________
Задачи бывают простыми и очень простыми...


 

Member
Статус: Не в сети
Регистрация: 30.03.2009
Откуда: Екатеринбург
помогите найти ошибку:
"Скриншот"
#77

ругается на:
1>c:\users\admin\desktop\gmod_dll\rawio\gmluamodule.h(37): warning C4996: 'vsprintf': This function or variable may be unsafe. Consider using vsprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

Вот 371 строка этой библиотеки:
c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(371):
__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_ARGLIST(int, __RETURN_POLICY_SAME, _CRTIMP, sprintf, vsprintf, _Pre_notnull_ _Post_z_, char, _Dest, _In_z_ _Printf_format_string_ const char *, _Format)


 

Member
Статус: Не в сети
Регистрация: 17.10.2005
XTracer
Это не ошибка, а предупреждение: vsprintf/sprintf могут быть не безопасны. Юзай sprintf_s или макрос поставь, чтоб предупреждений не выдавала студия.


 

Member
Статус: Не в сети
Регистрация: 30.03.2009
Откуда: Екатеринбург
я уже понял)
скомпилировал,все работает.
просто я недавно на VS перешел
раньше на Boralnd C++ Builder писал


 

Member
Статус: Не в сети
Регистрация: 09.01.2009
Откуда: Москва
Начал изучать C++. Не могу понять, что делает оператор return.
Цитата:
Оператор return используется для выхода из функции. Отнесение его к категории операторов перехода обусловлено тем, что он заставляет программу перейти в точку вызова функции.

Вот пример:
Код:
#include <iostream>
#include <conio.h>
using namespace std;

float X(float R, float I)
{ float X;
  X=R/I;
  return 0;
}
 main ()
{ float R,I;
  cout << "Vvedite R, I";
  cin >> R,I;
  X(R,I);
  cout << X;
  getch();
 }

Как я понял: Программа доходит до X(R,I); и вызывает функцию, потом сюда же возвращается. Если убрать return, то дальнейшее выполнение программы не возможно.
Убрал return, но программа все равно работает. Туплю сильно. Можете объяснить человеческим языком что делает return?))


 

Member
Статус: Не в сети
Регистрация: 20.03.2009
Откуда: Санкт-Петербург
test'~3
У тебя есть функция X. Она возвращает переменную типа float. Если функция что-то возвращает, то с помощью return пишется, что она возвращает. Операторов return может быть несколько. Вот пример
Код:
bool check(int a, int b)
         {
          if (a>b) return true;
          else return false;
          }


Добавлено спустя 5 минут 51 секунду:
На вид как-то странно у тебя) Хотя я тоже не всё знаю. Но у тебя в main нет никакой переменной X, но как тогда cout понимает, что X-функция) Добавь в майн float c; потом c=X(R,I); и выведи c. Без return работать не должно.

_________________
Задачи бывают простыми и очень простыми...


Последний раз редактировалось Danmerpro 20.09.2010 18:56, всего редактировалось 1 раз.

 

Member
Статус: Не в сети
Регистрация: 17.10.2005
test'~3
суровый код :fingal:

Насчет return: есть у тебя тело функции:
{ float X;
X=R/I;
return 0; }
в первой строчке создается переменная, во второй вычисляется значение, в третьей - функция завершается. Т.е. даже если бы после return был еще какой-то код, то он бы не исполнялся.
{ float X;
X=R/I;
return 0;
// код ниже никогда не выполнится
float X1=X+1.0;
}

return также возвращает какое-то значение, в зависимости от типа функции. Должно быть так:
float X(float R, float I) {
float X;
X=R/I;
return X; // полученное значение X можно будет использовать в месте, откуда вызывалась функция
}
Дальше, main:
{
float R,I;
cout << "Vvedite R, I: ";
cin >> R >>I;
float x = X(R,I); // x будет равно значению, что вернет функция
cout << x;
getch();
}

Цитата:
Убрал return, но программа все равно работает.

без return вообще не должно компилиться.


 

Member
Статус: Не в сети
Регистрация: 09.01.2009
Откуда: Москва
Спасибо вам. Все понял теперь)


 

Member
Статус: Не в сети
Регистрация: 13.06.2007
Откуда: UK/Glasgow
Фото: 0
Где взять V C++? Он входит в Visual Studio 2010?

_________________
-=AMD POWER FAN CLUB=-


 

Member
Статус: Не в сети
Регистрация: 03.04.2010
Откуда: Полоцк
SwiPTorrent писал(а):
Он входит в Visual Studio 2010?

Да

_________________
955BE•TT BT VX•M4A78T-E•KVR1333D3N9K2/4G•ST31000528AS•WD15EARS-00MVWB0•WD20EARX•HD4870 VAPOR-X 1GB•INWIN IP-S550AQ3-0


 

Member
Статус: Не в сети
Регистрация: 09.01.2009
Откуда: Москва
Каким "коротким кодом" можно проверить все ли цифры в числе разные? Только без использования массива.


 

Member
Статус: Не в сети
Регистрация: 07.01.2010
сделать переменную типа short и для каждой из цифр проверять тот бит, который соответствует этой цифре. если 0 - то пометить, если 1 - то такая цифра уже есть. удобно для этого сдвиги использовать


 

Member
Статус: Не в сети
Регистрация: 09.01.2009
Откуда: Москва
ToSHiC писал(а):
сделать переменную типа short и для каждой из цифр проверять тот бит, который соответствует этой цифре. если 0 - то пометить, если 1 - то такая цифра уже есть. удобно для этого сдвиги использовать

А можно поподробнее? А то не очень понял.


 

Member
Статус: Не в сети
Регистрация: 10.12.2003
test'~3
Я думаю примерно так:
#77
Если критична скорость, можно изменить метод получения цифр числа. У меня получилось добавлением 1 строчки увеличить скорость на 20%, уверен что есть еще более быстрые методы разбиения числа на цифры. Можно еще поиграться с битовыми операциями, напр. заменить выражение с "&" на другое выражение с "|" и высчитывать "used | flag" заранее и 1 раз. Но это уже мелочи.

Кстати, а что значит "коротким кодом"? Если понимать буквально, то можно например так:
#77
Это то же самое, что и 1-ый метод, только рекурсией и в 1 строку :D. Медленнее примерно на 20%.

А если не критична скорость и не охота заморачиваться, то можно и так:
#77
Медленнее первого варианта в 10 раз. Это на C# (впрочем вышеуказанный код тоже, но там я думаю переносится на C++ без изменений.), так что для C++ нужен будет метод расширения Distinct для перечислений, думаю из названия понятно что он делает. Не помню правда, если ли в C++ перечисления и методы расширения... :D Наверное в каком-нибудь boost'е есть что-нибудь подходящее.


 

Member
Статус: Не в сети
Регистрация: 09.01.2009
Откуда: Москва
Спасибо, но я ожидал что-нибудь по проще, на много, даже если бы размер программы был больше :)


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 629 • Страница 27 из 32<  1 ... 24  25  26  27  28  29  30 ... 32  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  

Лаборатория














Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan