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

Не получается решить - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Заполнение матрицы http://www.cyberforum.ru/cpp-beginners/thread38649.html
Дана Матрица 9х9 нужно заполнить ее числами от 1 до 81 по такой схеме:
C++ Написать функцию со сменным числом параметров для перевода чисел из двичной системы счисления в троичную используя функции, решить задачи. Массив должен передаваться в функцию как параметр. 1) Заданный двумерный массив N x M. Найти в нём подмассив 3 х 3, сумма елементов которого максимальна. N и M не могут быть кратными трём. 2)Написать функцию со сменным числом параметров для перевода чисел из двичной системы счисления в троичную.Написать функцию вызова main, которая возвращается к этой... http://www.cyberforum.ru/cpp-beginners/thread38645.html
C++ Напишите свои аналоги функций strlen(), strcpy(), strcmp() и сравните с библиотечными.
Напишите свои аналоги функций strlen(),strcpy(),strcmp() и сравните с библиотечными. Наивно написал эти функции: int strlen(char* c_str) { int count=0; while(*c_str++) ++count; return count; } /************************************************/
Есть ли C++ нативный способ быстро обнулить массив (аналог bzero)? + ещё 2 вопроса C++
Второй вопрос - если конструктор обнаружил условия, препятствующие созданию объекта, есть ли способ "не создавать" объект и не использовать потом дестуктор? Третий - стоит ли использовать динамические переменны внутри локальной области видимости(создать и удалить перед выходом из этой области) Спасибо
C++ функция разбивает файл на биты.... http://www.cyberforum.ru/cpp-beginners/thread38636.html
Написать функцию,разбивающую файл на биты и записывающую последовательно эти биты с интервалом в 24 байт в другой файл. В случае нехватки длины 2-го файла вывести предупреждение сообщение и прекратить работу.
C++ Рассортировать строки матрицы по возрастанию первых элементов строк 8. Создать нижний относительно побочной диагонали треугольник динамической квадратной матрицы. Рассортировать строки матрицы по возрастанию первых элементов строк проблема в том, что матрица триугольная и никак строки не поменяешь местами пишет ошибку. значет надо менять адреса а как? вот мой код int main () { int n; cout<<"Enter size"<<endl; cin>>n; int **arrow=new int*; подробнее

Показать сообщение отдельно
insolent
826 / 347 / 15
Регистрация: 30.01.2009
Сообщений: 1,204
06.06.2009, 23:35     Не получается решить
Цитата Сообщение от nynicue Посмотреть сообщение
если (D<0) корней нет
Может Вы не знаете, но при отрицательном дискриминанте корни уравнения - комплексные или мнимые числа.
Вот более-менее правильный
код
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include "stdafx.h"
#include <iostream>
#include <cmath>
#include <process.h>
#include <strstream>
using namespace std;
 
void b_0(double a, double c);
void D(double a,double b,double c);
int main(int argc, char* argv[])
{
    setlocale(0,"");
    bool t = true;
    double a,b,c;
    do{
        cout << "Введите коефициенты квадратного уравнения: " << endl;
        cin >> a >> b >> c;
        if(a == 0)
            cout << "Уравнение не имеет решения." << endl;
        else t = false;
    }while(t);
    _flushall();
    (b == 0)? b_0(a,c) : D(a,b,c);
    return 0;
}
 
void b_0(double a, double c){
    double x1, x2;
    strstream mni_x1, mni_x2;
    if(c < 0 ){
        x1 = sqrt(fabs(c/a));
        x2 = sqrt(fabs(c/a));
        cout << "Корни уравнения: " << endl
             << "x1 = " << x1 << endl
             << "x2 = " << x2 << endl;
    }
    if(c == 0){
        x1 = x2 = 0;
        cout << "Корни уравнения: " << endl
            << "x1 = x2 = " << x1 << endl;
    }
    if(c > 0){
        x1 = sqrt(c/a);
        x2 = -sqrt(c/a);
        mni_x1 << x1 << "i" << ends;
        mni_x2 << x2 << "i" << ends;
        cout << "Корни уравнения: " << endl
            << "x1 = " << mni_x1.str() << endl
            << "x2 = " << mni_x2.str() << endl;
    }
    getchar();
    exit(0);
}
 
void D(double a,double b,double c){
    double Des,x1,x2;
    strstream kom_x1,kom_x2;
    Des = b*b - 4*a*c;
    if(Des > 0){
        x1 = (-b + sqrt(Des))/2*a;
        x2 = (-b - sqrt(Des))/2*a;
        cout << "Корни уравнения: " << endl
            << "x1 = " << x1 << endl
            << "x2 = " << x2 << endl;
    }
    if(Des == 0){
        x1 = x2 = (-b)/2*a;
        cout << "Корни уравнения: " << endl
            << "x1 = x2 = " << x1 << endl;
    }
    if(Des < 0){
        kom_x1 << (-b) << "+" << sqrt(fabs(Des)) << "i" << ends;
        kom_x2 << (-b) << "-" << sqrt(fabs(Des)) << "i" << ends;
        cout << "Корни уравнения: " << endl
            << "x1 = " << kom_x1.str() << endl
            << "x2 = " << kom_x2.str() << endl;
    }
    getchar();
    exit(0);
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru