int n = 100;
float *q = (float *) malloc(n * sizeof(float));
Операция преобразования типа, записанная перед обращением к функции mallос, требуется потому, что функция возвращает значение указателя типа void*, а инициализируется указатель на float.Память, зарезервированная под динамический массив с помощью new [],
должна освобождаться оператором delete [], а память, выделенная функцией malloc -посредством функции free, например:
delete [] p; free (q);
При несоответствии способов выделения и освобождения памяти результат не определён. Размерность массива в операции delete не указывается, но квадратные скобки обязательны.
Решение одного варианта
Задана последовательность X = (x1, x2, …, x10). Сформировать из неё одномерный массив Y, состоящий из элементов, удовлетворяющих условию B xi A, где . Если таковых не окажется, напечатать фразу «Искомых элементов нет». Полученный массив вывести в столбик. Исходные данные: X = {2.2, 3.4, -4.9, 0.71, 2.0, -1.6, 0.35, 2.5, -0.1, -0.15}.
Текст программы решения задачи на С++ приведен ниже.
//Лабораторная работа 6
// Работа с одномерными массивами
//Выполнил студент гр. 1-21 ГД Якубов А.Х.
#include
#include
int main ()
{
const int n=10;
int i,k;
double x[n], y[n], a, b, s1, s2;
cout <<"\n Vvedite elementi massiva X\n";
for(i=0; i
cin>>x[i];
for(i=0; i
cout<
s1= 0; s2= 0;
for(i=0; i
s1 = s1 + fabs(x[i]);
s2= s2 + x[i];} //20
Do'stlaringiz bilan baham: |