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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
klaif
0 / 0 / 0
Регистрация: 10.01.2012
Сообщений: 3
#1

Нужна помощ - C++

11.01.2012, 15:49. Просмотров 470. Ответов 1
Метки нет (Все метки)

Здравствуйте, помогите пожалуйста с задачами :

1).Вычислить значения функции U
http://10pix.ru/img1/1836/6536502.png
при http://10pix.ru/img1/417307/6536617.png
Найти максимальное значение U и при каких х, y и z оно достигается

2).Дана матрица А(4,3)
1. Найти сумму отрицательных элементов матрицы, лежащих над главной
диагональю
2. Найти максимальный элемент 1ой строки
3. Заменить максимальный элемент 1ой строки на полученное значение
суммы

3). Составить программу для вычисления Y и Z по заданным формулам.
Y=2a x+ ln|x+a3|
http://10pix.ru/img1/3518/6536712.png
При x=2.1, a= 0.2

P.S. Понимаю что много, но очень нужно. Заранее благодарю.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2012, 15:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нужна помощ (C++):

очень нужна помощ по С++ - C++
В файле содержится шнформация о книгах библиотеки: номер УДК, фамилия и инициалы автора, название, год издания, количество экземпляров...

Нужна помощ с функциями в Borland C. - C++
Из-за праздников пропали пары по прогрмаированию, и одну из тем нам задали на самостоятельное изучение, тема про функции, и соответсвенно...

нужна помощ.... Помогите составить программу... - C++
В чемпионате по футболу команде за победу даеться 3 очка, за ничию 1, за проигрыш 0. Известно количество очков, полученых за игру....

Помощ в программке - C++
Уважаемые господа, помогите пожалуйста написать программку на Borland C++ ОЧень нужно для зачета. ================== Задана матрица...

Нужна помощ новичку - JavaScript
Люди добрые подскажите, можно ли создать клиент для форума?:scratch: Если да то просветите каким образом?))) ЗЫ не гневайтесь за...

Регулярное выражение. Нужна помощ. - PHP
Ребят, помогите составить регулярное выражение для nickname'а (vk.com/nickname'а ) в контакте. Требования: ✔Длина ника от 2 до 32...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BRcr
4008 / 2297 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
11.01.2012, 23:19 #2
Цитата Сообщение от klaif Посмотреть сообщение
1).Вычислить значения функции U
Вот, защищенная версия, можно ей деление на ноль скормить или stack_overflow

Попутно вопрос знающим людям. Если заменить в этом коде переменные double на long double, использовать соответствующие мат-функции и перегрузить также функцию int _matherrl( struct _exceptionl *a ), создать затем, к примеру, деление на ноль, то программа виснет по непонятным причинам. А с переменными double работает, как задумано... Что за фигня такая?
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
using namespace std;
// ---------------------------------------------------------------------------
int _matherr( struct _exception *a )
{
    throw 0;
}
// ---------------------------------------------------------------------------
bool calc_U_equation( double *U, double x, double y, double z ) {
 
    double _U;
 
    try {
        __try {
            _U = - pow( ( pow( y, 2 ) + 4 * pow( x, 2 ) / 3 ), 0.5 ) +
                   ( sin( pow( x, 3 ) - y ) - fabs( x * y ) ) / x * z;
        }
        __except ( EXCEPTION_EXECUTE_HANDLER ) {
            throw 0;
        }
    }
    catch ( ... ) {
        return false;
    }
    *U = _U;
    return true;
}
// ---------------------------------------------------------------------------
int _tmain( int argc, _TCHAR *argv[] )
{
    double U, x, y, z,
           hx = 1.3, hy = 0.1, hz = 0.8,
           x_min = 1, y_min = -0.4, z_min = 0.5,
           x_max = 3, y_max = -0.2, z_max = 1.5,
           U_res = -DBL_MAX, x_res, y_res, z_res;
 
    for ( x = x_min; x <= x_max; x += hx ) {
        for ( y = y_min; y <= y_max; y += hy ) {
            for ( z = z_min; z <= z_max; z += hz ) {
                if ( calc_U_equation( &U, x, y, z ) ) {
                    cout << "U = " << U << "\tx = " << x
                           << "\ty = " << y << "\tz = " << z << endl;
                    if ( U > U_res ) {
                        U_res = U;
                        x_res = x;
                        y_res = y;
                        z_res = z;
                    }
                }
                else {
                    cout << "Not computable variables:" << "\tx = " << x
                           << "\ty = " << y << "\tz = " << z << endl;
                }
 
            }
        }
    }
    cout << endl << "Max U = " << U_res << "\tx = " << x_res
           << "\ty = " << y_res << "\tz = " << z_res << endl << endl;
 
    system( "pause" );
    return 0;
}
Вывод
U = -0.929295 x = 1 y = -0.4 z = 0.5
U = -0.460936 x = 1 y = -0.4 z = 1.3
U = -0.861256 x = 1 y = -0.3 z = 0.5
U = -0.33041 x = 1 y = -0.3 z = 1.3
U = -0.805874 x = 1 y = -0.2 z = 0.5
U = -0.220242 x = 1 y = -0.2 z = 1.3
U = -2.88563 x = 2.3 y = -0.4 z = 0.5
U = -3.20541 x = 2.3 y = -0.4 z = 1.3
U = -2.84427 x = 2.3 y = -0.3 z = 0.5
U = -3.11878 x = 2.3 y = -0.3 z = 1.3
U = -2.80639 x = 2.3 y = -0.2 z = 0.5
U = -3.03527 x = 2.3 y = -0.2 z = 1.3

Max U = -0.220242 x = 1 y = -0.2 z = 1.3

Для продолжения нажмите любую клавишу . . .


Вывод при "x_min = 0" (Run without debugging !!!)
Not computable variables: x = 0 y = -0.4 z = 0.5
Not computable variables: x = 0 y = -0.4 z = 1.3
Not computable variables: x = 0 y = -0.3 z = 0.5
Not computable variables: x = 0 y = -0.3 z = 1.3
Not computable variables: x = 0 y = -0.2 z = 0.5
Not computable variables: x = 0 y = -0.2 z = 1.3
U = -1.55423 x = 1.3 y = -0.4 z = 0.5
U = -1.55542 x = 1.3 y = -0.4 z = 1.3
U = -1.44969 x = 1.3 y = -0.3 z = 0.5
U = -1.31992 x = 1.3 y = -0.3 z = 1.3
U = -1.35373 x = 1.3 y = -0.2 z = 0.5
U = -1.0967 x = 1.3 y = -0.2 z = 1.3
U = -3.37618 x = 2.6 y = -0.4 z = 0.5
U = -3.93206 x = 2.6 y = -0.4 z = 1.3
U = -3.32619 x = 2.6 y = -0.3 z = 0.5
U = -3.82062 x = 2.6 y = -0.3 z = 1.3
U = -3.2779 x = 2.6 y = -0.2 z = 0.5
U = -3.70833 x = 2.6 y = -0.2 z = 1.3

Max U = -1.0967 x = 1.3 y = -0.2 z = 1.3

Для продолжения нажмите любую клавишу . . .


Добавлено через 50 минут
Цитата Сообщение от klaif Посмотреть сообщение
Найти сумму отрицательных элементов матрицы, лежащих над главной
диагональю
http://www.cyberforum.ru/cpp-beginne...read14283.html
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.01.2012, 23:19
Привет! Вот еще темы с ответами:

Нужна помощ с javascript календарём ! - JavaScript
Привет люди ! нужна помощ в поиске такого java календаря .. ...

Посматрите очень нужна помощ специалистов! - Сети
Извеняюсь что неискал по форуму чего то похожего просто времени нет Зарание приношу извенения !!! у меня такой вопросик помогите у меня 2...

Нужна помощ. Форма поиска не возвращает запись. - Visual Basic
Форма поиска не возвращает запись в вызывающую форму. В самом VB6.0, всё работает, а когда я скомпилировал в (exe) фал, выдаёт ошибку...

срочно нужна помощ!!!Тупит ноут Packard Bell EN TM 87 - Ремонт ноутбуков
Оценка производительности Процессор-1.6 Оперативка-1.8 Графика(AERO)-5.7 Графика для игр-5.9 Основной жесткий диск-5.9 Система ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru