Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Fish24
0 / 0 / 6
Регистрация: 24.11.2013
Сообщений: 46
#1

Изменить тип массива с int на float - C++

17.05.2016, 21:34. Просмотров 278. Ответов 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
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
#include <iostream>
#include <stdlib.h>
using namespace std;
int q[7]; // массив, на основе которого строится очередь
int qnext = 0, qindex = 0, qlength = 7; // qnext - индекс занесения
                                        // qindex - индекс извлечения
                                        // qlenght - длина очереди
// *************ПРОСТАЯ ОЧЕРЕДЬ*******************************                                       
// Занесение элемента в линейную очередь
 
void insertLinQ (int i)
{
    if (qnext + 1 == qlength) // если переполнение
    {
        cout << "Мест нет!\n";
        return;
    }
    qnext++; // смещение позиции записи
    q[qnext] = i; // ввод данных
}
// Извлечение элемента из линейной очереди
int retrieveLinQ ()
{
    if (qindex == qnext) // если индекс сохранения равен индексу извлечения
    {
        cout << "Очередь пуста!\n";
        return 0;
    }
    qindex++; // смещение позиции считывания
    return q[qindex]; // считывание
}
// ******************ЦИКЛИЧЕСКАЯ ОЧЕРЕДЬ*********************
int q2[5];
int qnext2 = 0, qindex2 = 0, qlength2 = 5;
// Занечение элемента в циклическую очередь
void insertCicQ (int j)
{
    if (qnext2 + 1 == qindex2 || (qnext2 + 1 == qlength2 && !qindex2))
    {
        cout << "Мест нет!\n";
        return;
    }
    q2[qnext2] = j; // запись
    qnext2++; // смещение позиции записи
    
    if (qnext2 == qlength2)
    qnext2 = 0; // циклический переход
}
// Извлечение элемента из циклической очереди 
int retrieveCicQ ()
{
    if (qindex2 == qlength2)
    qindex2 = 0; // циклический переход
    if (qindex2 == qnext2)
    {
        cout << "Очередь пуста!\n";
        return 0;
    }
    qindex2++; // смещение позиции считывания
    return q2[qindex2-1]; // считывание
}
int main (int argc, char* argv[])
{
    setlocale (0, "rus");
    cout << "***ЛИНЕЙНАЯ ОЧЕРЕДЬ***\n";
    insertLinQ (1); // 1
    insertLinQ (5); // 5 1 
    insertLinQ (8); // 8 5 1 
    cout << retrieveLinQ() << "\n"; // возвр. 1, в очереди 8 5 
    insertLinQ (7); // 7 8 5 
    cout << retrieveLinQ() << "\n"; // возвр. 5, в очереди 7 8 
    cout << retrieveLinQ() << "\n"; // возвр. 8, в очереди 7
    insertLinQ (11); // 11 7
    insertLinQ (10); // 10 11 7
    insertLinQ (4); // 4 10 11 7
 
    cout << "***ЦИКЛИЧЕСКАЯ ОЧЕРЕДЬ***\n";
    insertCicQ (5); // 5
    insertCicQ (7); // 7 5 
    insertCicQ (9); // 9 7 5 
    cout << retrieveCicQ() << "\n"; // возвр. 5, в очереди 9 7 
    insertCicQ (3); // 3 9 7 
    insertCicQ (11); // 11 3 9 7
    cout << retrieveCicQ() << "\n"; // возвр. 7, в очереди 11 3 9 
    insertCicQ (15); // 15 11 3 9 
    insertCicQ (4); // ПЕРЕПОЛНЕНИЕ, в очереди 15 11 3 9 
    cout << retrieveCicQ() << "\n"; // возвр. 9, в очереди 15 11 3
    cout << retrieveCicQ() << "\n"; // возвр. 3, в очереди 15 11 
    cout << retrieveCicQ() << "\n"; // возвр. 11, в очереди  15 
    cout << retrieveCicQ() << "\n"; // возвр. 15, очередь пуста
    cout << retrieveCicQ() << "\n"; // Очередь пуста!
    system ("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2016, 21:34
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Изменить тип массива с int на float (C++):

При вводе элементов массива выводить их тип (или int или float)
Помогите с ошибкой, и если не сложно то с заданием а то я вроде сделал только...

ОШИБКА [Error] cannot convert 'int*' to 'float*' for argument '1' to 'void Syma(float*,int*,int)
Какая то проблема с указателями,незнаю,не хочет щитать суму парних чисел в...

Как в VC++ переводить строки в тип int или float ???????
Здравствуйте .... уважаемые программисты ... помогите пожалуйста перевести тип...

Работа со стеком. Если массив нужен float, а не int, что необходимо изменить
#include &lt;iostream&gt; #include &lt;stdlib.h&gt; using namespace std; //...

Какой тип данных лучше подойдет для приложения, которое делит числа int или float?
Ответ написал int Хотя нутром чую, что float

Функции float average(int arrray[],int from,int to)
Напишите код функции float average(int arrray,int from,int to). Возвращаемым...

2
Unknownx
Заблокирован
17.05.2016, 21:51 #2
Цитата Сообщение от Fish24 Посмотреть сообщение
int q[7]; // массив, на основе которого строится очередь
- ну как бы кэп очевидность подсказывает что нужно поменять int на float здесь и здесь
Цитата Сообщение от Fish24 Посмотреть сообщение
int q2[5];
Также следует поперебивать на float тип входных параметров для всех функций вставки
Цитата Сообщение от Fish24 Посмотреть сообщение
void insertCicQ (int j)
Цитата Сообщение от Fish24 Посмотреть сообщение
void insertLinQ (int i)
Добавлено через 3 минуты
Вроде собралось нормально
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
#include <iostream>
#include <stdlib.h>
using namespace std;
float q[7]; // массив, на основе которого строится очередь
int qnext = 0, qindex = 0, qlength = 7; // qnext - индекс занесения
                                        // qindex - индекс извлечения
                                        // qlenght - длина очереди
// *************ПРОСТАЯ ОЧЕРЕДЬ*******************************                                       
// Занесение элемента в линейную очередь
 
void insertLinQ (float i)
{
    if (qnext + 1 == qlength) // если переполнение
    {
        cout << "Мест нет!\n";
        return;
    }
    qnext++; // смещение позиции записи
    q[qnext] = i; // ввод данных
}
// Извлечение элемента из линейной очереди
float retrieveLinQ ()
{
    if (qindex == qnext) // если индекс сохранения равен индексу извлечения
    {
        cout << "Очередь пуста!\n";
        return 0;
    }
    qindex++; // смещение позиции считывания
    return q[qindex]; // считывание
}
// ******************ЦИКЛИЧЕСКАЯ ОЧЕРЕДЬ*********************
float q2[5];
int qnext2 = 0, qindex2 = 0, qlength2 = 5;
// Занечение элемента в циклическую очередь
void insertCicQ (float j)
{
    if (qnext2 + 1 == qindex2 || (qnext2 + 1 == qlength2 && !qindex2))
    {
        cout << "Мест нет!\n";
        return;
    }
    q2[qnext2] = j; // запись
    qnext2++; // смещение позиции записи
    
    if (qnext2 == qlength2)
    qnext2 = 0; // циклический переход
}
// Извлечение элемента из циклической очереди 
float retrieveCicQ ()
{
    if (qindex2 == qlength2)
    qindex2 = 0; // циклический переход
    if (qindex2 == qnext2)
    {
        cout << "Очередь пуста!\n";
        return 0;
    }
    qindex2++; // смещение позиции считывания
    return q2[qindex2-1]; // считывание
}
int main (int argc, char* argv[])
{
    setlocale (0, "rus");
    cout << "***ЛИНЕЙНАЯ ОЧЕРЕДЬ***\n";
    insertLinQ (1.2); // 1
    insertLinQ (5.3); // 5 1 
    insertLinQ (8); // 8 5 1 
    cout << retrieveLinQ() << "\n"; // возвр. 1, в очереди 8 5 
    insertLinQ (7.1); // 7 8 5 
    cout << retrieveLinQ() << "\n"; // возвр. 5, в очереди 7 8 
    cout << retrieveLinQ() << "\n"; // возвр. 8, в очереди 7
    insertLinQ (11); // 11 7
    insertLinQ (10); // 10 11 7
    insertLinQ (4); // 4 10 11 7
 
    cout << "***ЦИКЛИЧЕСКАЯ ОЧЕРЕДЬ***\n";
    insertCicQ (5.1); // 5
    insertCicQ (7.2); // 7 5 
    insertCicQ (9.05); // 9 7 5 
    cout << retrieveCicQ() << "\n"; // возвр. 5, в очереди 9 7 
    insertCicQ (3); // 3 9 7 
    insertCicQ (11); // 11 3 9 7
    cout << retrieveCicQ() << "\n"; // возвр. 7, в очереди 11 3 9 
    insertCicQ (15); // 15 11 3 9 
    insertCicQ (4); // ПЕРЕПОЛНЕНИЕ, в очереди 15 11 3 9 
    cout << retrieveCicQ() << "\n"; // возвр. 9, в очереди 15 11 3
    cout << retrieveCicQ() << "\n"; // возвр. 3, в очереди 15 11 
    cout << retrieveCicQ() << "\n"; // возвр. 11, в очереди  15 
    cout << retrieveCicQ() << "\n"; // возвр. 15, очередь пуста
    cout << retrieveCicQ() << "\n"; // Очередь пуста!
    //system ("pause");
    return 0;
}
http://codepad.org/tMs6mChm
***ЛИНЕЙНАЯ ОЧЕРЕДЬ***
1.2
5.3
8
Мест нет!
***ЦИКЛИЧЕСКАЯ ОЧЕРЕДЬ***
5.1
7.2
Мест нет!
9.05
3
11
15
Очередь пуста!
0
1
Fish24
0 / 0 / 6
Регистрация: 24.11.2013
Сообщений: 46
17.05.2016, 22:35  [ТС] #3
Спасибо!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2016, 22:35
Привет! Вот еще темы с решениями:

Почему при умножении разнотипных переменных (например, float и int) получается int?
Почему при умножении разнотипных переменных (float price и int unit) получается...

Как происходит преобразование int<<float<int
Как происходит преобразование int&lt;&lt;float&lt;int int n=222222222; float...

Как изменить тип указателя массива ?
Например создаю массив: void * mass; if(1 == 1) mass = wchar_t; else...

Зачем преобразовывать itsVal в int, если эта переменная и так объявлена как тип int
// Оператор преобразования #include &lt;iostream&gt; using namespace std; class...


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

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

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