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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
booogabooo
5 / 1 / 0
Регистрация: 04.12.2013
Сообщений: 50
#1

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

29.01.2014, 23:06. Просмотров 215. Ответов 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;
}
Миниатюры
Ошибка в коде. Не могу ввести вещественное число  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2014, 23:06     Ошибка в коде. Не могу ввести вещественное число
Посмотрите здесь:

Пользователь вводит с клавиатуры: начальную сумму, внесённую на депозит (вещественное положительное число), годовой процент (вещественное положительно - C++
Пользователь вводит с клавиатуры: начальную сумму, внесённую на депозит (вещественное положительное число), годовой процент (вещественное...

ошибка в коде,не могу разобраться - C++
Определите структурный тип содержащий след инф-ю: Марка авто, цвет, кол-во, цена. Ввести 5 элем-в данного типа. Подсчитать сумму по...

Ошибка в коде - не могу найти - C++
Здравствуйте, подскажите пожалуйста, в чём проблема. Без последней строки cout&lt;&lt;count; в методе Show программа закрывается. Со строкой...

Ошибка в коде не могу понять в чем - C++
Вот код программы: #include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; int main() { double R; int x; cout...

Есть ли ошибка в коде. Не могу найти. - C++
#include&lt;stdio.h&gt; #include&lt;string.h&gt; #include&lt;conio.h&gt; int summa(char *st) { int i; i=0; while ( st ) { if ((st &gt;=...

Не могу понять что за ошибка в коде - C++
Вот код: #include &lt;iostream&gt; using namespace std; void main() { setlocale(0, &quot;ru&quot;); int X, Y ;

Где ошибка в коде?Не могу понять - C++
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; int main() { setlocale(0, &quot;&quot;); int a,b,c; cout &lt;&lt;...

Ввести целое число N > 0, являющееся некоторой степенью числа 2 Ошибки не могу найти - C++
Ввести целое число N &gt; 0, являющееся некоторой степенью числа 2: N=2K. Найти целое число K — показатель этой степени. Не разрешается...

Вывести N-е полупростое число (программа постоянно выводит число 4; не могу понять в чем ошибка) - C++
ПОМОГИТЕ ПОЖАЛУЙСТА НАЙТИ ОШИБКУ! #include &lt;stdio.h&gt; #include &quot;fstream&quot; #include &lt;iostream&gt; #include &lt;vector&gt; using...

События и семафоры. Не могу понять где ошибка в коде - C++
Код: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;Windows.h&gt; #define NUMBER_OF_THREADS 3 using namespace std; ...

Где в этом коде ошибка.голову ламаю, не могу найти? - C++
#include&lt;conio.h&gt; #include&lt;iostream.h&gt; #include&lt;fstream.h&gt; #include&lt;stdio.h&gt; #define i 10 { int x; char...

Ввести целочисленное и вещественное значения и вывести их сумму на экран монитора - C++
Задать константы M1, M2,..., M5 и вычислить M1 + 2M2 + 3M3 + 4M4 + 5M5 Ввести целочисленное и вещественное значения и вывести их сумму на...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
29.01.2014, 23:59     Ошибка в коде. Не могу ввести вещественное число #2
Цитата Сообщение от booogabooo Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
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];
    ..................
Если ошибка при вводе здесь, то объявите массив типом float или double
yol
10 / 10 / 0
Регистрация: 13.10.2012
Сообщений: 155
30.01.2014, 00:09     Ошибка в коде. Не могу ввести вещественное число #3
Цитата Сообщение от booogabooo Посмотреть сообщение
int **a = new int *[size];
* * cout << "Input matrix: " << endl;
* * for (int i = 0; i < size; i++) {
* * * * a[i] = new int [size];
Ну вот смотри, тут ты инициализируешь динамический двумерный массив элементами которого могут быть только целочисленные элементы, т.е. при объявлении (int * x) ты говоришь, что нужно отвести в динамической памяти 4 байта (для элемента типа int), а ты пытаешься ввести вещественное число размера 8 байт - double), видимо поэтому компилятор и ругается.
Yandex
Объявления
30.01.2014, 00:09     Ошибка в коде. Не могу ввести вещественное число
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru