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

Ошибка в коде. Не могу ввести вещественное число - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ setlocale не совсем работает http://www.cyberforum.ru/cpp-beginners/thread1084932.html
есть код: #include <iostream> #include <conio.h> #include <clocale> using namespace std; int main() { setlocale (LC_ALL,"Russian"); struct zap
C++ Оформить в виде функции Даны действительные числа s, t. Получить: g(1.2, s)+g(t, s)-g(2s - 1.5t), |g(ln(s, t+1))-g(t, s)|, где http://www.cyberforum.ru/cpp-beginners/thread1084931.html
C++ Составить программу вычисления произвольного количества значений выражения
Составить программу вычисления произвольного количества значений выражения. Необходимость повторного вычисления значений и аргументы задает пользователь. Вычисление выражения должно происходить в...
перегрузка унарной операции C++
добрый вечер) не понимаю как сделать : для перегрузки унарной операции плюс объявите операторную функцию ( член класса), которая возвращает минимальный из положительных элементов массива. ...
C++ вычислить значение функции по заданному диапазону / С++ для начинающих; http://www.cyberforum.ru/cpp-beginners/thread1084919.html
Создать программу, которая вычисляет значения функции заданного диапазона; необходимо организовать ввод границ интервала, значения n, шаг аргумента.
C++ Тест для класса Хочу протестировать класс Address.h //Faile Address.h #ifndef Address_dot_h #define Address_dot_h 1 class Address { public: //Konstruktor Address(); подробнее

Показать сообщение отдельно
booogabooo
5 / 1 / 0
Регистрация: 04.12.2013
Сообщений: 50

Ошибка в коде. Не могу ввести вещественное число - C++

29.01.2014, 23:06. Просмотров 227. Ответов 2
Метки (Все метки)

При выполнении программы пытаюсь ввести элементы массива. Каждое число должно быть вещественным. При выполнении программы (при вводе вещественных чисел в массив) компилятор выдает ошибку (скрин прилагается). При вводе целочисленного значения массива программа работает правильно. Где-то идет несоответствие типов данных. Как можно изменить код, чтоб в массив можно было вводить число с плавающей точкой?
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
#include <iostream>
#include <iomanip>
#include <fstream>
 
using namespace std;
 
 
void inp(float *b, size_t size)
{
    int **a = new int *[size];
    cout << "Input matrix: " << endl;
    for (int i = 0; i < size; i++) {
        a[i] = new int [size];
        for (int j = 0; j < size; j++) {
            cout << "a[" << (i + 1) << "][" << (j + 1) << "]: ";
            cin >> a[i][j];
        }
    }
    system("cls");
 
    ofstream out("C:\\InputFile.txt");
    //if (!inp){ cout << "File is not exist"; return 0 }
    out << "Array A:" << endl;
    for (int i = 0; i < size; i++)
    {
        for (int j = 0; j < size; j++) out << setw(4) << a[i][j];
        out << endl;
    }
 
    size_t n, s;
    cout << "n, s - ";
    cin >> n >> s;
 
    for (int i = 0; i < size; i++)
        b[i] = (double)(a[i][n]) / (double)(a[i][s]);
 
    for (int i = 0; i < size; i++)
        delete [] a[i];
    delete [] a;
}
 
void out(const float *mas, size_t size)
{
    ofstream out("C:\\OutputFile.txt");
    out << "Array B:" << endl;
    for (int i = 0; i < size; i++)
        out << setw(8) << mas[i];
    out << endl;
}
 
int main()
{
    size_t size;
    cout << "Size: ";
    cin >> size;
 
    float *b = new float [size];
    inp(b, size);
    out(b, size);
    cout << "Files were created sucsessfull..." << endl; 
    delete [] b;
    system("pause");
    return 0;
}
0
Миниатюры
Ошибка в коде. Не могу ввести вещественное число  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru