Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

{pascal} Модификация одномерного массива.Нужна Ваша помощь.

22K
17 ноября 2006 года
<sergey>
3 / / 17.11.2006
Препод дал лабораторную на Паскале, а я мало что понимаю в программировании. Вобщем помогите ,если знаете как решить эту задачу:

Для произвольно выбранной последовательности целых чисел, в которой не более 30 элементов, выполнить следующее задание: ввести эти числа в одномерный массив и заменить все положительные элементы на наименьший элемент массива, удалив его при этом из массива, если только количество четных среди них будет больше М, а затем упорядочить массив по возрастанию.. Использовать дополнительные массивы запрещено!
В программе обязательно применение процедур и/или функций с передаваемыми параметрами. Количество элементов вводится в режиме диалога. Программа должна вывести на экран два изображения массива – исходного и после модификации.
Сортировка должна производиться методом прямого включения.
22K
18 ноября 2006 года
Zyava
7 / / 10.11.2006
[QUOTE=<sergey>]... заменить все положительные элементы на наименьший элемент массива, удалив его при этом из массива, если только количество четных среди них будет больше М...[/QUOTE]

Вот тут я уже заблудился, кто-нибудь понял что имеется ввиду?
22K
18 ноября 2006 года
&lt;sergey&gt;
3 / / 17.11.2006
[QUOTE=Zyava]Вот тут я уже заблудился, кто-нибудь понял что имеется ввиду?[/QUOTE]
как я понял ,это значит,если кол-во четных элементов в массиве будет больше введенного числа М, тогда и нужно заменить все положительные элементы на наименьший элемент массива, удалив его при этом из массива.
533
18 ноября 2006 года
Visualex
254 / / 07.01.2005
Вот на С++, кое чего написал, на паскаль кто сможет переведите человеку. Единственное с отрицательными числами не сталкивался, как их "случайно" сгенерировать. Может за одним и кто подскажет!
Код:
#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;
}
22K
19 ноября 2006 года
&lt;sergey&gt;
3 / / 17.11.2006
Спасибо за ответ,Visualex! Но на Паскале кто-нить может записать? Очень надо!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог