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

Почему при проверке заполнения массива выводятся неправильные значения? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Возведение числа в целую степень http://www.cyberforum.ru/cpp-beginners/thread1106772.html
Даны числа а1 , а2 , а3 т.д.... вычислить а1^1+a2^2 и т.д используя подпрограмму возведения числа в степень Где ошибка ??? #include<stdio.h> #include<math.h> const int N=5; int A; int i,s,m; int main () { for(i=1;i<N;i++);
C++ Найти минимальное число среди n сгенерированных С клавиатуры вводится число (n). Рандомно сгенирировать n-ое количество чисел(k), вывести их на экран и найти min среди этих чисел. Промежуток чисел в которых будет генерироваться числа - 10000 http://www.cyberforum.ru/cpp-beginners/thread1106747.html
Неправильный Ввод C++
Описать как структуру переменную время(с полями часы, минуты, секунды). Составить и протестировать функции: А) которая присваивает параметру t1 время на d секунд большее, чем время t (может происходить смена суток); Б) которая вычисляет время d, прошедшее от времени t1 до времени t2. *При вводе программа пропускает ввод часов, либо минут. Упрощенная программа(без функций,только ввод времени)...
C++ Решение СЛАУ компактным методом исключения
Добрый день! :) Нужно решить СЛАУ компактным методом исключений. Исходные данные ● Файл с коэффициентами системы в виде матрицы размером в N строк и N+1 столбцов; ● В N+1 столбце находятся свободные члены системы уравнений (2<=N<=100); ● Коэффициенты - комплексные вещественные числа с точностью 10-3, представленны в алгебраической форме в виде структуры (тип данных). Необходимо:...
C++ Color Theme Editor ? http://www.cyberforum.ru/cpp-beginners/thread1106715.html
Как грузить :Color Theme Editor а по умалчанию что заложено в VS2012 как использовать ? В плане как изменить цвет интерфейса там где шапка стандартными средствами ? Ну есть же там изминения цвета или так и плонировалась что будеть только чрный цвет и всё ?
C++ Тест по моделированию 1.Выберите верное утверждение: 1) Один объект может иметь только одну модель 2) Разные объекты не могут описываться одной моделью 3) Электрическая схема — это модель электрической цепи 4) Модель полностью повторяет изучаемый объект 2.Выберите неверное утверждение: 1) Натурные модели — объекты, воспроизводящие внешний вид объекта 2) Информационные модели описывают объект-оригинал на... подробнее

Показать сообщение отдельно
E-Katya
0 / 0 / 0
Регистрация: 27.02.2014
Сообщений: 3
27.02.2014, 15:00  [ТС]     Почему при проверке заполнения массива выводятся неправильные значения?
Поправила код, все равно какая-то ерунда. Почему, когда я записываю в массив UR значения с клавиатуры, при проверочном выводе выводятся совершенно другие числа???
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
// ConsoleApplication15.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include "stdafx.h"
#include "stdio.h"
#include <conio.h>
 
/*выделяем память под массивы*/
float UR[3][2];
float mas_det[2][2], mas_det1[2][2], mas_det2[2][2], mas_det3[2][2];
/*выделяем память под глобальные переменные*/
float det, det1, det2, det3;
float x1, x2, x3;
float det_temp;  //возвращаемая переменная
float z[5];         //вспомогательный массив
 
using namespace std;
float det_function(float array[2][2]);  //функция вычисления детерминанта
 
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "Russian");   //русский язык в консоли
    /*ввод значений с клавиатуры*/
 
 
    for (int i = 0; i <= 2; i++)   //строки массива
    {
        std::cout << " уравнение № " << i + 1 << " \n"; //подсказка
 
        for (int j = 0; j <= 3; j++)   //столбцы массива
        {
            cout << "Введите коэф.  уравнения: ";  //выводим подсказку
            cin >> UR[i][j];                //запоминаем введенное значение
        }
    }
    /*проверка ввода*/
    cout << UR[0][0] << "*x1" << "+" << UR[0][1] << "*x2" << "+" << UR[0][2] << "*x3" << "=" << UR[0][3] << endl;
    cout << UR[1][0] << "*x1" << "+" << UR[1][1] << "*x2" << "+" << UR[1][2] << "*x3" << "=" << UR[1][3] << endl;
    cout << UR[2][0] << "*x1" << "+" << UR[2][1] << "*x2" << "+" << UR[2][2] << "*x3" << "=" << UR[2][3] << endl;
 
    /*подготовка массивов для детерминанта*/
 
    for (int is = 0; is <= 2; is++){
        for (int js = 0; js <= 2; js++){
            mas_det[is][js] = UR[is][js];
            }
    }
 
    for (int is = 0; is <= 2; is++){
        for (int js = 0; js <= 2; js++){
            mas_det1[is][js] = UR[is][js];
        }
    }
    for (int is = 0; is <= 2; is++){
        for (int js = 0; js <= 2; js++){
            mas_det2[is][js] = UR[is][js];
        }
    }
 
    for (int is = 0; is <= 2; is++){
        for (int js = 0; js <= 2; js++){
            mas_det3[is][js] = UR[is][js];
        }
    }
    
    /*применяем Сарруса для заданных массивов*/
    mas_det1[0][0] = UR[3][0];
    mas_det1[0][1] = UR[3][1];
    mas_det1[0][2] = UR[3][2];
 
    mas_det2[1][0] = UR[3][0];
    mas_det2[1][1] = UR[3][1];
    mas_det2[1][2] = UR[3][2];
 
    mas_det3[2][0] = UR[3][0];
    mas_det3[2][1] = UR[3][1];
    mas_det3[2][2] = UR[3][2];
 
    /*проверка на нуль и ветвление*/
    det = det_function(mas_det);
    det1 = det_function(mas_det1);
    det2 = det_function(mas_det2);
    det3 = det_function(mas_det3);
 
    cout << "det=" << det << endl;
    cout << "det1=" << det1 << endl;
    cout << "det2=" << det2 << endl;
    cout << "det3=" << det3 << endl;
 
 
    /*расчет корней*/
    x1 = det1 / det;
    x2 = det2 / det;
    x3 = det3 / det;
 
    /*ввывод результатов*/
    cout << "x1=" << x1 << endl;
    cout << "x2=" << x2 << endl;
    cout << "x3=" << x3 << endl;
 
 
    for (int is = 0; is <= 2; is++){
        for (int js = 0; js <= 2; js++){
            cout<<mas_det[is][js];
        }
        cout << endl;
    }
    cout << endl;
 
 
 
    for (int is = 0; is <= 2; is++){
        for (int js = 0; js <= 2; js++){
            cout << mas_det1[is][js];
        }
        cout << endl;
    }
    cout << endl;
 
    _gettch();
    return 0;
}
 
/*описание функции*/
float det_function(float array[2][2]){
    /*извлечение массива*/
    z[0] = (array[0][0]) * (array[1][1]) * (array[2][2]);
    z[1] = (array[0][1]) * (array[1][2]) * (array[2][0]);
    z[2] = (array[0][2]) * (array[1][0]) * (array[2][1]);
    z[3] = -((array[0][2]) * (array[1][2]) * (array[2][0]));
    z[4] = -((array[0][0]) * (array[1][2]) * (array[2][1]));
    z[5] = -((array[0][1]) * (array[1][0]) * (array[2][2]));
    /*нахождение определителя*/
 
    for (int det_count = 0; det_count <= 5; det_count++){
        det_temp += z[det_count];
    }
    return(det_temp);
}
Миниатюры
Почему при проверке заполнения массива выводятся неправильные значения?  
 
Текущее время: 12:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru