Inessevanston
@Inessevanston
^__^

Как задать массив с целыми и вещественными числами?

Как задать массив, в который можно записать и целые и вещественные числа?
Пытаюсь поставить тип float или bouble, но спотыкается на строке arr2=new int [n].
#include <iostream>
#include <conio.h>
using namespace std;
 
int main()
{
setlocale (LC_ALL, "RUS");
 int n;
 int x;
 int *arr1=NULL;
 int *arr2;
 int i;
 int j;
 int tp;
 n=0;
cout<<"Введите массив "<<endl;
 while ((cin.peek()!=10)&&(n<11))
 {
  ++n;
  arr2=new int [n];
  if (arr1!=NULL)
  {
   for (i=n-2; i>=0; --i)
   {
    arr2[i]=arr1[i];
   }
   delete [] arr1;
  }
  arr1=arr2;
  cin>>arr2[n-1];
 }
for (i=0; i<n; ++i)
 {
  for (j=i+1; j<n; ++j)
  {
   if (arr1[i]>arr1[j])
   {
    tp=arr1[i];
    arr1[i]=arr1[j];
    arr1[j]=tp;
   }
  }
 }
cout<<"\nМассив неубывающих чисел: "<<endl;
 for (i=0; i<n; ++i)
 {
  cout<<arr1[i]<<' ';
 }
 cout<<endl;
 getch();
}
  • Вопрос задан
  • 2452 просмотра
Решения вопроса 1
Mrrl
@Mrrl
Заводчик кардиганов
Не bouble, а double.
В описании массива пишете
double *arr2;
а в инициализации -
arr2=new double[n];
Если поменять тип только в одном месте, будет ошибка.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Olej
@Olej
инженер, программист, преподаватель
Как задать массив, в который можно записать и целые и вещественные числа?
Пытаюсь поставить тип float или bouble,

1. массив, содержащий значения типов int & double создать нельзя! - C++ типизированный язык, и в массиве могут быть элементы только одного типа;
2. при инициализации массива double вы можете указать константы int, но они будут тут же преобразованы к типу double (но не наоборот);
3. если вы попробуете позже использовать такие загруженные значения как int - это не удасться, они уже преобразованы в double.
Ответ написан
Комментировать
Nipheris
@Nipheris Куратор тега C++
Как задать массив, в который можно записать и целые и вещественные числа?
boost::variant<int, double>

Только сначала убедитесь, что вы понимаете, что делаете и чего хотите.

Олег Цилюрик
C++ типизированный язык, и в массиве могут быть элементы только одного типа;

Совершенно верно, и этот тип может быть суммой нескольких других типов (суммой в смысле суммы множеств допустимых значений).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы