Задание
1)Написать функцию, генерирующую массив из N случайных чисел, принадлежащих указанному диапазону [a,b]. Величины N, a и b задаются с клавиатуры. Максимальное значение N=1000.
2)Написать функцию для вывода массива на экран.
3)Написать функцию для поиска номера элемента, подлежащего удалению (Минимальный по абсолютному значению элемент) .
4)Написать функцию для удаления элемента с указанным номером из массива.
5)Написать функцию для добавления указанного элемента в массив на указанную позицию (Максимум – вставить перед первым встреченным отрицательным элементом) .
#include <iostream>
#include <cstdlib>
using namespace std;
int m(int *A, const int n)
{
int min=0,i;
for(i=0; i<n;>)<abs(a[min]))>>n;
cout <<"Введите a= "; cin>>a;
cout <<"Введите b= "; cin>>b;
for (i=0;i<n;i++)> = a + rand() % (b - a + 1);
cout <<a<i><<" ";
}
cout<<endl;><<" ";
}
cout<<endl;>>A[max])
max=i;
}
for (i=0;i<n;><0)
{
otr=i;
break;
}
for (i=0; i<n;i++)>i-1; j--)
A[j+1]=A[j];
A=A[max];
n++;
}
for (int i=0; i<n;><<" ";
system("pause");
return 0;
}
Работает, но с ошибками. То как надо, то удаляет что-то лишнее. И максимальный элемент ставит перед последним отрицательным элементом, а нужно только перед первым =(
Другие языки программирования и технологии
Проверьте пожалуйста код на С++
1) double* random_array(){
int N;
double a;
double b;
printf("\n Введите начало диапазона (а): ");
cin>>a;
printf("\n Введите конец диапазона (в) : ");
cin>>b;
printf("\n Введите размер массива: ");
cin>>N;
if (N<0){
printf("\n Ошибка! Неккоректная размерность массива. ");
return 0;
}
double buf;
double buf1 = b-a;
double *Massiv = new double [N];
for( int i=0; i<n;> = a + (buf1*buf);// значение ячейки = мин. возможное значение+доп. диапазон*рандом_от_0до1
}
return Massiv;
}
2) void ShowMassiv (double *Massiv, int razmer){
if(Massiv == 0) return;
printf("\n Сгенерированный массив: \n");
for(int i=0; i<razmer;>);
}
}
P.S. Свой код на ошибки не проверял но там их не должно быть много. Массив создается динамический (то есть создается на этапе выполнения программы) .
задание 3 и 4 можно было объединить в одну функцию (это походу в универе парят такими заданиями студентам мозг) , да и там впринципе ничего сложного - сначала поиск минимального элемента в массиве (с сохранением номера его ячейки).. . А теперь уже противоречие в задании №4 - ячейку удалить нельзя, это же не список, а массив, значит просто значение "обнуляем" (в общем делаем какое либо действие со значением ячейки либо вообще ничего, так как дальше мы эту же ячейку перезаписываем) .
Задание 5 - "5) Написать функцию для добавления указанного элемента в массив на указанную позицию (Максимум – вставить перед первым встреченным отрицательным элементом) . " ---Да ну как можно вставить элемент внутрь массива, это ж массив! Может имели ввиду перезаписать ячейку? Если да, тогда такая последовательность действий:
- Ищем максимальный элемент массиве, сохраняем его значение.
- Делаем цикл while с условием останова (i
int N;
double a;
double b;
printf("\n Введите начало диапазона (а): ");
cin>>a;
printf("\n Введите конец диапазона (в) : ");
cin>>b;
printf("\n Введите размер массива: ");
cin>>N;
if (N<0){
printf("\n Ошибка! Неккоректная размерность массива. ");
return 0;
}
double buf;
double buf1 = b-a;
double *Massiv = new double [N];
for( int i=0; i<n;> = a + (buf1*buf);// значение ячейки = мин. возможное значение+доп. диапазон*рандом_от_0до1
}
return Massiv;
}
2) void ShowMassiv (double *Massiv, int razmer){
if(Massiv == 0) return;
printf("\n Сгенерированный массив: \n");
for(int i=0; i<razmer;>);
}
}
P.S. Свой код на ошибки не проверял но там их не должно быть много. Массив создается динамический (то есть создается на этапе выполнения программы) .
задание 3 и 4 можно было объединить в одну функцию (это походу в универе парят такими заданиями студентам мозг) , да и там впринципе ничего сложного - сначала поиск минимального элемента в массиве (с сохранением номера его ячейки).. . А теперь уже противоречие в задании №4 - ячейку удалить нельзя, это же не список, а массив, значит просто значение "обнуляем" (в общем делаем какое либо действие со значением ячейки либо вообще ничего, так как дальше мы эту же ячейку перезаписываем) .
Задание 5 - "5) Написать функцию для добавления указанного элемента в массив на указанную позицию (Максимум – вставить перед первым встреченным отрицательным элементом) . " ---Да ну как можно вставить элемент внутрь массива, это ж массив! Может имели ввиду перезаписать ячейку? Если да, тогда такая последовательность действий:
- Ищем максимальный элемент массиве, сохраняем его значение.
- Делаем цикл while с условием останова (i
2,5 тыс руб
Похожие вопросы
- Проверьте пожалуйста код программы от Visual Studio. Заранее спасибо.
- ПОДСКАЖИТЕ ПОЖАЛУЙСТА код разблокировки баннера билайн
- Проверьте пожалуйста блок-схему к задаче на Pascal
- Всем привет! Кому не сложно, проверьте, пожалуйста, на правильность написание моего когда на алгоритмическом языке
- Выручайте. Составьте пожалуйста код на С++. Задание по практике.
- Посмотрите пожалуйста код.
- Напишите пожалуйста код простейшей программы вычисления значения 2 в степени N.
- JS-программеры! подскажите пожалуйста код для перемещения объекта курсором мыши.
- Подскажите Пожалуйста Коды Для Универсального Пульта Томсон.для Сони?
- Народ, напишите пожалуйста код, задание ниже. Думаю, для тех кто разбирается это на раз-два. Сам не понимаю этого :(
for( int i=0; i<n;> = a + (buf1*buf);// значение ячейки = мин. возможное значение+доп.диапазон*рандом_от_0до1
}
вместо этого:
for( int i=0; i<n;> = a + (buf1*buf);// значение ячейки = мин. возможное значение+доп.диапазон*рандом_от_0до1
}