Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи по C/С++

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

juvaforza

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
#include <iostream>
#include <new>
 
using namespace std;
 
void myfunc1(int*X, int N, int*XX, int*M);//Ищет максимальный элемент, с подсчетом
void myfunc2(int*X, int N, int XX, int*Y);//Исключает при копировании значений максимальный элемент
 
//Дан массив A из N чисел. Исключить из A элементы с максимальным значением.
int main()
{
    int N;//Будущая размерность массива А
    cout << "Input N here:";//Приглашение к вводу
    cin >> N;//Ввод количества элементов
    if (N<=0) return 1;
    int*A=new int[N];//Объявление массива и выделение дин. памяти под него
    //Ввод элементов массива
    for(int i=0;i<N;i++)
    {
        cout << "Input A[" << i << "] here:";
        cin >> A[i];
    }
    //Вывод A[i]
    for(int i=0;i<N;i++)
    {
        cout << A[i] << " ";
    }
    cout << "\n";
 
    int*B;//Объявление массива
    int M;//Будущая размерность массива B
    int V;//Максимальное значение
    myfunc1(A,N,&V,&M);//Запуск функции поиска максимального элемента
    B=new int[M];//Выделение дин. памяти под массив
    myfunc2(A,N,V,B);//Запуск функции исключения максимального элемента
    //Вывод B[i]
    for(int i=0;i<M;i++)
    {
        cout << B[i] << " ";
    }
    cout << "\n";
    cin >> N;//Для того, что бы не закрывался консоль
 
    delete[] A;
    delete[] B;
    return 0;
}
 
void myfunc1(int*X, int N, int*XX, int*M)
{
    //Поиск максимального элемента
    int max=X[0];
    for(int i=0;i<N;i++)
    {
        if(max<X[i])
            max=X[i];
    }
    //Подсчет кол-ва элементов с макс. значением.
    int k=0;
    for(int i=0;i<N;i++)
    {
        if(max==X[i])
            k++;
    }
    *XX=max;
    *M=N-k;//Новая размерность массива
    return;
}
 
void myfunc2(int*X, int N, int XX, int*Y)
{
    //Заполняем массив значениями, кроме максимальных
    for(int i=0,j=0;i<N;i++)
    {
        if(X[i]!=XX)
        {Y[j]=X[i];j++;}
    }
    return;//Возвращаем новый массив
}

Всего записей: 2895 | Зарегистр. 26-11-2005 | Отправлено: 12:43 03-11-2012 | Исправлено: juvaforza, 13:15 03-11-2012
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи по C/С++


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru