#include <iostream>
using namespace std;
///////////////////////////////////////
void FillMatrix(int array[], int c)
{
for (int i=0; i<c; i++)
array = rand()%100;//отрицательными числами не знаю как заполнять(не приходилось)
}
bool Validating(int count)
{
if(count<=30 && count>0)
return true;
else
{
cout<<"wrong count"<<endl;
return false;
}
}
int SearchAndDestroyMin(int array[], int c, int q)
{
int i, min, chet=0;
i=0;
//поиск колличества четных в массиве
for(i=0; i<c; i++)
if(array%2) chet++;
if (chet <= q)
{
cout<<"quantity of %2 numbers <= "<<q<<endl;
return 0;
}
//поиск минимального в массиве
int index;
min = array[0];
for(i=1; i<c; i++)
{
for(int j=1; j<(c-1); j++)
if(min>=array[j])
{
min = array[j];
index = j;
}
}
cout<<"min element is: "<<min<<endl;
cout<<"index min is: "<<index+1<<endl;//index + 1, т.к. отсчет начинаем с нуля, а так нагляднее
//удаление элемента массива
for(i=0; i<c; i++)
{
if(i!=c)
if(i >= index)
{
array = array[i+1];
}
}
return c-1;
}
///////////////////////////////////////
int main()
{
int matrix[30]= {NULL};
int i, M, n;
//ввод числа элементов в массиве от 1 до 30
do {
cout<<"input quantity of elements in matrix <=30:";
cin>>n;
}while(!Validating(n));
//ввод заданного числа для сравнения с четными массива
cout<<"input THE NUMBER :";
cin>>M;
//заполнение матрицы
FillMatrix(matrix, n);
//вывод исходной матрицы
for (i=0; i<n; i++)
cout<<matrix<<' ';
cout<<endl;
// общий расчет
n = SearchAndDestroyMin(matrix, n, M);
//вывод полученной матрицы
for (i=0; i<n; i++)
cout<<matrix<<' ';
cout<<endl;
return 0;
}
{pascal} Модификация одномерного массива.Нужна Ваша помощь.
Для произвольно выбранной последовательности целых чисел, в которой не более 30 элементов, выполнить следующее задание: ввести эти числа в одномерный массив и заменить все положительные элементы на наименьший элемент массива, удалив его при этом из массива, если только количество четных среди них будет больше М, а затем упорядочить массив по возрастанию.. Использовать дополнительные массивы запрещено!
В программе обязательно применение процедур и/или функций с передаваемыми параметрами. Количество элементов вводится в режиме диалога. Программа должна вывести на экран два изображения массива – исходного и после модификации.
Сортировка должна производиться методом прямого включения.
Вот тут я уже заблудился, кто-нибудь понял что имеется ввиду?
как я понял ,это значит,если кол-во четных элементов в массиве будет больше введенного числа М, тогда и нужно заменить все положительные элементы на наименьший элемент массива, удалив его при этом из массива.
Вот на С++, кое чего написал, на паскаль кто сможет переведите человеку. Единственное с отрицательными числами не сталкивался, как их "случайно" сгенерировать. Может за одним и кто подскажет!
Спасибо за ответ,Visualex! Но на Паскале кто-нить может записать? Очень надо!