0 / 0 / 0
Регистрация: 16.06.2014
Сообщений: 5
1

Диалог да/нет в

16.06.2014, 18:00. Показов 3029. Ответов 6
Метки нет (Все метки)

Добрый день!
Подскажите пожалуйста, какими бы я способами не пробовал не могу впаять в код диалог, в котором определяется как будет вводится матрица, руками или из файла.
Помогите пожалуйста, завтра сдаюсь!!!!!
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
#include <iostream>
#include <iomanip>
#include <cmath>
#include <cstdio>
#include <fstream>
#include <string>
 
void readMatrixFromFile( std::string name, double **a, double *b, int &n )
{
    std::ifstream in( name.c_str(), std::ios::in );
    if ( in.is_open() )
    {
        in >> n;
        for( int i = 0; i < n; ++i )
            for( int j = 0; j <= n; ++j )
            {
                if ( j < n )
                    in >> a[ i ][ j ];
                else
                    in >> b[ i ];
            }
        in.close();
    }
    else
        printf( "Fayl ne znayden!\n" );
}
 
void readMatrix( double **a, double *b, int n )
{
    for( int i = 0; i < n; ++i )
    {
        for( int j = i; j < n; ++j )
        {
            std::cout << "A[ " << i + 1 << ", " << j + 1 << " ] = ";
            std::cin >> a[ i ][ j ];
            a[ j ][ i ] = a[ i ][ j ];
        }
        std::cout << "B[ " << i + 1 << " ] = ";
        std::cin >> b[ i ];
    }
}
 
void printMatrix( double **a, double *b, int n,  bool flag )
{
    for( int i = 0; i < n; ++i )
    {
        for( int j = 0; j < n; ++j )
            printf( "%7.4f ", a[ i ][ j ] );
        if ( flag )
            printf( " | %7.4f", b[ i ] );
        printf( "\n" );
    }
}
 
bool checkMatrix( double **a, int n )
{
    for( int i = 0; i < n; ++i )
        for( int j = i; j < n; ++j )
            if ( a[ i ][ j ] != a[ j ][ i ] )
                return false;
    return true;
}
 
void getMatrixS( double **a, double **s, double *b, int n )
{
    double s1;
 
    for( int i = 0; i < n; ++i )
    {
        s1 = 0.0;
        for( int k = 0; k < i; ++k )
            s1 = s1 + s[ k ][ i ] * s[ k ][ i ];
        s[ i ][ i ] = std::sqrt( a[ i ][ i ] - s1 );
        for( int j = i; j < n; ++j )
        {
            s1 = 0.0;
            for( int k = 0; k < i; ++k )
                s1 = s1 + s[ k ][ i ] * s[ k ][ j ];
            s[ i ][ j ] = ( a[ i ][ j ] - s1 ) / s[ i ][ i ];
        }
    }
}
 
void getVectorY( double **s, double *y, double *b, int n )
{
    double s1;
    for( int i = 0; i < n; ++i )
    {
        s1 = 0.0;
        for( int k = 0; k < i; ++k )
            s1 += s[ k ][ i ] * y[ k ];
        y[ i ] = ( b[ i ] - s1 ) / s[ i ][ i ];
    }
}
 
void gettVectorX( double **s, double *y, double *x, int n )
{
    double s1;
    for( int i = n - 1; i >= 0; --i )
    {
        s1 = 0.0;
        for( int k = i; k < n; ++k )
            s1 += s[ i ][ k ] * x[ k ];
        x[ i ] = ( y[ i ] - s1 ) / s[ i ][ i ];
    }
}
 
void printVector( double *v, int n )
{
    for( int i = 0; i < n; ++i )
        printf( "%7.4f ", v[ i ] );
    printf( "\n" );
}
 
int main()
{
    const int M = 10;
    int n;
 
    double **a = new double *[ M ],
           **s = new double *[ M ],
            *b = new double [ M ],
            *y = new double [ M ],
            *x = new double [ M ];
 
    for( int i = 0; i < M; ++i )
    {
        a[ i ] = new double [ M ];
        s[ i ] = new double [ M ];
    }
 
    int k;
    printf( "Vvesty matricy z failu? " );
    scanf("%d", &k);
    if (k="y")
    {
        readMatrixFromFile( "input", a, b, n );
    }
    else
    {
        printf( "Vvedit' rozmir matricy: " );
        scanf( "%d", &n );
        readMatrix( a, b, n );
    }
    printMatrix( a, b, n, true );
 
    if ( checkMatrix( a, n ) )
    {
        getMatrixS( a, s, b, n );
        std::cout << "Matricya S: " << std::endl;
        printMatrix( s, b, n, false );
        getVectorY( s, y, b, n );
        gettVectorX( s, y, x, n );
        std::cout << "Vector X: ";
        printVector( x, n );
    }
    else
    {
        std::cout << "Nemae rozv'yazku" << std::endl;
    }
 
    return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.06.2014, 18:00
Ответы с готовыми решениями:

Диалог вида да/нет
Здравствуйте! Есть в WinAPI или MFC способ без организации диалога через ресурсы сделать диалог с...

Модальный диалог да/нет
Как вызвать ShowMessage (или как еще) что бы появилось модальное окно с вопросом и кнопками да/нет?...

Как создать заказной диалог (Да, Нет)?
Все привет. Код, представленный ниже, создает диалог с кнопками Yes и No. Как создать диалог,...

Не выводится Диалог, когда нет интернет подключения
Всем привет приложения должно сработать если есть подключения к интернету а если нету приложения...

6
7166 / 6141 / 2802
Регистрация: 14.04.2014
Сообщений: 26,462
16.06.2014, 18:32 2
В 134-й строке вводишь число, потом анализируешь как строку и к тому же неправильно.
0
0 / 0 / 0
Регистрация: 16.06.2014
Сообщений: 5
16.06.2014, 18:41  [ТС] 3
Можете подсказать как правильно?
0
7166 / 6141 / 2802
Регистрация: 14.04.2014
Сообщений: 26,462
16.06.2014, 18:44 4
Например, 1 - да, 0 - нет. И проверяй
C++
1
if(k == 1)
0
0 / 0 / 0
Регистрация: 16.06.2014
Сообщений: 5
16.06.2014, 20:00  [ТС] 5
Кто-то может написать как должен выглядеть код уже с работающим диалогом?
Пожалуйста!
0
Модератор
Эксперт С++
12081 / 9760 / 5902
Регистрация: 18.12.2011
Сообщений: 26,202
16.06.2014, 20:11 6
Лучший ответ Сообщение было отмечено krooglov как решение

Решение

Цитата Сообщение от krooglov Посмотреть сообщение
int k;
printf( "Vvesty matricy z failu? " );
scanf("%d", &k);
if (k="y")
Заменяем на
C++
1
2
3
4
char k;
    printf( "Vvesty matricy z failu? " );
    scanf("%c", &k);
if (k=='y')
1
0 / 0 / 0
Регистрация: 16.06.2014
Сообщений: 5
17.06.2014, 00:04  [ТС] 7
Спасибо огромное!!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.06.2014, 00:04
Помогаю со студенческими работами здесь

Как создать диалог выбора шрифта и диалог выбора цвета
как создать диалог выбора шрифта и диалог выбора цвета в wpf

Windows XP нет доступа к сети, нет доступа к Norton антивирус, сетевых служб нет
Отключился Инет, попробовал загрузить сетевые подключения - нет ни одной иконки. Загрузился с...

Диалог
Мне нужно вывести сообщение, которое будет отображено пользователю до конца цикла. Пробовал...

диалог
помогите написать любой диалог из 3-4 вопросов((


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru