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

Выход из программы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить корень уравнения(C++) http://www.cyberforum.ru/cpp-beginners/thread256534.html
Помогите,пожалуйста,с задачей!Методом касательных вычислить с погрешностью e (1>e>0) корень уравнения 1.8x-sin(10x)=0 при начальном приближении 0.22.
C++ двумерные массивы!=((( Помогите плз....Нужно составить программу циклической перестановки строк двумерного массива m×k, при которой смещение происходит вниз на n строк.Матрица размещается в памяти динамически, значение n вводится по запросу с клавиатуры. http://www.cyberforum.ru/cpp-beginners/thread256519.html
C++ Изменение даты создания произвольного файла
Написать программу, изменяющую дату и время создания произвольного файла Покапавшись нашел следующе, но что то не работает!!! BOOL GetFileTime ( HANDLE hFile, // указатель на открытый файл LPFILETIME lpCreationTime, // время создания LPFILETIME lpLastAccessTime, // время доступа LPFILETIME lpLastWriteTime // время модификации
Если самое верхнее число в этом столбце есть ноль, то меняют всю первую строку матрицы с другой строкой матрицы, где в этой колонке нет нуля. C++
Помогите реализовать это условие задачи! #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv) { int **X, N, M; cout << "kol-vo strok v matr"; cin >> N; cout << "kol-vo stolbtsov v matr"; cin >> M;
C++ Погрешность и бесконечность http://www.cyberforum.ru/cpp-beginners/thread256503.html
Как задать в программе бесконечность(infinity) и погрешность (EPS) например для типа float?
C++ Удалить массив Нужно полностью удалить созданный в приложении массив: char n=100; struct mag { char a; std::map<std::string, int> list; char b; int c; std::vector<int> lists; }mas;Как это правильно сделать? подробнее

Показать сообщение отдельно
lesorub_
2 / 2 / 0
Регистрация: 20.02.2011
Сообщений: 51

Выход из программы - C++

13.03.2011, 17:19. Просмотров 2264. Ответов 7
Метки (Все метки)

Доброго времени суток, это опять я
Дописал программу, которая вычисляет произведение матрицы на вектор. Фишка программы заключается в написании собственных функций для вычисления произведения статической матрицы и столбца, и динамической. В конце концов, всё сделано, но мне не нравится одно: когда программа подходит к концу, все вычисления, которые должна произвести программа, завершены, текстовый курсор мигает, консоль не закрывается. Т.е. закрыть консоль можно только принудительно, что не есть хорошо. Помогите, пожалуйста, решить эту проблему. Вот код:

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
#include <iostream>
#include <clocale>
 
using namespace std;
 
#define n 3
#define m 3
 
//функция произведения статической матрицы и вектора
void product_mas_st(double *matrix, double *vector, double *product){
int i, j;
cout << "Произведение (A * B): " << endl;
for (i=0; i<n; i++){ //для i-й строчки матрицы
    product[i] = 0;
    for (j=0; j<m; j++) //для j элементов строчки i
        product[i] += matrix[i*m+j]*vector[j];
}
}
 
//функция произведения динамической матрицы и вектора
void product_mas_dn(double **matrix, double *vector, double *product, int a, int b){
int i, j;
printf ("Произведение (A * B): \n\n");
for (i = 0; i < a; i++){
    product[i] = 0;
    for (j = 0; j < b; j++)
        product[i] += matrix[i][j]*vector[j];
}
}
 
void main(){
setlocale(LC_ALL, "Russian");
 
cout << "Статический массив" << endl;
int i,j;
double matrix_st[n][m], vector_st[m], product_st[n];
cout << "Введите элементы матрицы A[" << n << "][" << m <<"]: ";
for(i=0; i<n; i++) // для строки с номером i вводим j элементов
    for(j=0; j<m; j++) 
        cin >> matrix_st[i][j];
for(i=0; i<n; i++){  //для i-й строки выводим m столбцов
    for(j=0; j<m; j++)
        cout << "\t" << matrix_st[i][j];
    cout << endl << endl;
}
cout << "Введите элементы вектора B[" << m << "]: ";
for(i=0; i<m; i++)
    cin >> vector_st[i];
for(i=0; i<m; i++){
    cout << "\t" <<vector_st[i];
    cout << endl << endl;}
product_mas_st((double*) matrix_st, (double*)vector_st, (double*)product_st);
for(i=0; i<n; i++) //для каждой строки матрицы выводим сумму произведений
    cout << "\t" << product_st[i] << endl << endl;
 
cout << "Динамический массив" << endl;
int a, b;
cout << "Введите кол-во строк и столбцов: ";
cin >> a >> b;
double** matrix_dn = new double*[a];//массив указателей на строки
for(i=0; i<a; i++)
    matrix_dn[i]=new double[b];//для каждой строчки выделяем память под столбцы
double* vector_dn=new double[b];
double* product_dn= new double[a];
cout << "Введите элементы матрицы A[" << a << "][" << b << "]: ";
for(i=0; i<a; i++)
    for(j=0; j<b; j++)
        cin >> matrix_dn[i][j];
cout << endl;
for(i=0; i<a; i++){
    for(j=0; j<b; j++)
        cout << "\t" << matrix_dn[i][j];
    cout << endl << endl;}
cout << "Введите элементы вектора B[" << b <<"]: ";
for(i=0;i<b;i++)
    cin >> vector_dn[i];
cout << endl;
for(i=0; i<b; i++)
    cout << "\t" << vector_dn[i] << endl << endl;
product_mas_dn(matrix_dn,vector_dn, product_dn, a, b);
for(i=0; i<a; i++)
    cout << "\t" << product_dn[i] << endl << endl;
delete[] product_dn;
delete[] vector_dn;
for(i=0; i<a; i++)
    delete[] matrix_dn;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru