bezumes |
27-03-2006 19:54 422220 |
Помогите найти ошибку в массиве
C++.net 2005
Помогите пожалуйста, не могу понять почему здесь ошибка:( .Скорее всего что ошибка в массиве.
Код:
#include"stdafx.h"
#include<iostream>
#include<locale>
#include<conio.h>
using namespace std;
int main()
{
int raz=0;
wcout.imbue(locale(".866"));
wcout<<L"Введите размер матрицы ";
cin>>raz;
double a[raz];
for(int i=0;i<raz;i++)
{
wcout<<L"Введите элемент а["<<i<<"]=";
cin>>a[i];
}
getch();
return EXIT_SUCCESS;
}
Да и пожалуйста подскажите какие еще неточности алгоритма(если они есть)здесь присутсвуют
|
Arrest |
27-03-2006 21:55 422260 |
Массив нужен динамический:
Код:
double *a=(double *)malloc(sizeof(double)*raz);
функция malloc описана в <malloc.h>.
|
bezumes |
28-03-2006 14:59 422529 |
ну с помощью способа Arrestу меня все получилось.А вот с помощью нев делете не очень.Объясните пожалуйста что я неправильно делаю
Код:
#include "stdafx.h"
#include <iostream>
#include <locale>
#include <conio.h>
using namespace std;
int main()
{
int raz=100;double max=0;
wcout.imbue(locale(".866"));
wcout<<L"Введите размер матрицы ";
cin>>raz;
new double a[raz];
for(int i=0;i<raz;i++)
{
wcout<<L"Введите элемент а["<<i<<"]=";
cin>>a[i];
if(a[i]>max)max=a[i];
}
cout<<max<<endl;
delete a[raz];
getch();
return EXIT_SUCCESS;
}
|
Просто:
double* a = new double[raz];
delete a;
|
Время: 03:17.
© OSzone.net 2001-2025