Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2011, 11:50   #1
tracer
Пользователь
 
Регистрация: 10.05.2011
Сообщений: 30
По умолчанию реализация циклического алгоритма С++

найти наименьшее число из 20 вводимых с клавиатуры
tracer вне форума Ответить с цитированием
Старый 12.05.2011, 12:40   #2
v0a
Новичок
Джуниор
 
Регистрация: 11.05.2011
Сообщений: 21
По умолчанию

Код:
#include <iostream>
#include <set>
#include <cassert>
#include <algorithm>
#include <iterator>
 
int main(){
        const int SIZE = 10;
        int arr [ SIZE ] = { 2, 0, 9, 5, 4, 3, 6, 1, 7, 8 };
        
        std::cout << "Unsorted: ";
        std::copy(arr, arr + SIZE, std::ostream_iterator<int>(std::cout, " "));
        std::cout << std::endl;
        
        std::multiset<int> set;
        std::copy(arr, arr + SIZE, std::inserter(set, set.begin()));
        assert(set.size() == SIZE);
        
        bool flag = true;
        int * pHead = arr;
        int * pTail = arr + SIZE - 1;
        for ( std::multiset<int>::const_iterator i = set.begin(); i != set.end(); ++i ){
                if ( flag )
                        *pHead++ = *i;
                else
                        *pTail-- = *i;
                flag = ! flag;
        }
        
        std::cout << "Sorted:   ";
        std::copy(arr, arr + SIZE, std::ostream_iterator<int>(std::cout, " "));
        std::cout << std::endl;
        
        return 0;
}
Вот подобие... Эта программа выбирает наименьший из 10 элементов массива и ставит на 1 место, можешь сам попробовать сделать под себя.
v0a вне форума Ответить с цитированием
Старый 12.05.2011, 12:46   #3
v0a
Новичок
Джуниор
 
Регистрация: 11.05.2011
Сообщений: 21
По умолчанию

Минимальный и максимальный элемент массива

Реализовать поиск минимального и максимального элемента в массиве. Создать программу со следующим набором операций:

создать массив с помощью динамического распределения памяти и заполнить массив с помощью случайно сгенерированных чисел (без повторений)
поиск минимального элемента массива
поиск максимального элемента массива
отобразить исходный массив на экране

Код:
#include <iostream>
#include <cstdlib>
using namespace std;

int *Create(int n)
{

    if(n<=10000)
    {
    int *arr = new int [n];
    int i=0;
    while(i<n)
    {

        int flag=0;
        arr[i]=rand()%(n+n);
        for(int j=0; j<i; j++)
        if (arr[j]==arr[i])
        {
        flag=1;
        break;
        }
        if (flag==1)
        continue;
        else
        i++;

    }
    return arr;
    }
    else
    return NULL;

}

void Show(int *arr, int n)
{

    for (int i=0; i<n; i++)
    cout << arr[i] << " ";
    cout << endl;

}

void Max(int *arr, int n, int &max, int &index)
{

    index=0;
    max=arr[0];
    for (int i=1; i<n; i++)
    if (arr[i]>max)
    {
    max=arr[i];
    index=i;
    }

}

void Min(int *arr, int n, int &min, int &index)
{

    index=0;
    min=arr[0];
    for (int i=1; i<n; i++)
    if (arr[i]<min)
    {
    min=arr[i];
    index=i;
    }

}

int main()
{

    int *arr=NULL;
    int n;
    char action;
    setlocale(LC_ALL,"Russian");
    do
    {

        cout << "1. Создать массив чисел" << endl
        << "2. Показать исходный массив" << endl
        << "3. Max элемент" << endl
        << "4. Min элемент" << endl
        << "0. Выход" << endl;
        cin >> action;
        switch(action)
        {
        case ‘1′:

            if (arr!=NULL)
            {
            delete[] arr;
            }
            cout << "Введите размер массива = ";
            cin >> n;
            arr=Create(n);
            if (arr!=NULL)
            cout << "Массив чисел создан" << endl;
            else
            cout << "Невозможно создать массив" << endl;
            break;

        case ‘2′:

            if (arr!=NULL)
            {
            cout << "Исходный массив:" << endl;
            Show(arr, n);
            }
            else
            cout << "Создайте массив" << endl;
            break;

        case ‘3′:

            if (arr!=NULL)
            {
            int max;
            int index;
            Max(arr, n, max, index);
            cout << "Max элемент массива = " << max << endl
            << "Индекс = " << index << endl;

            }
            else
            cout << "Создайте массив" << endl;
            break;

        case ‘4′:

            if (arr!=NULL)
            {
            int min;
            int index;
            Min(arr, n, min, index);
            cout << "Min элемент массива = " << min << endl
            << "Индекс = " << index << endl;
            }
            else
            cout << "Создайте массив" << endl;
            break;

        case ‘0′:

            if (arr!=NULL)
            delete[] arr;
            break;

        }

    }while(action!=’0′);
    cin.get();

}
Ты как бы поиском пользуйся... Такие задачи решены!

Последний раз редактировалось v0a; 12.05.2011 в 12:49.
v0a вне форума Ответить с цитированием
Старый 12.05.2011, 12:55   #4
tracer
Пользователь
 
Регистрация: 10.05.2011
Сообщений: 30
По умолчанию

спасибо
поиском пользовался но что то не то всё выдавало
tracer вне форума Ответить с цитированием
Старый 12.05.2011, 20:15   #5
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Цитата:
Сообщение от delfi Посмотреть сообщение
ПОМОГИТЕ РЕШИТЬ ЗАДАЧУ на С++
Дано значение температуры T в градусах Цельсия. Определить значение этой же температуры в градусах Фаренгейта. Температура по Цельсию TC и температура по Фаренгейту TF связаны следующим соотношением:
TC = (TF – 32)•5/9.
Код:
#include <iostream>
int main()
{
    float Celsius, Fahrenheit;
    cout << "Введите значение температуры в градусах Цельсия: ";
    cin >> Celsius;
    Fahrenheit = Celsius * 1.80 + 32.0;
    cout << "Температура по Фаренгейту: " << Fahrenheit << endl;
    return 0
}
ЗЫ "Hello, world!" помочь написать?
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 12.05.2011, 22:58   #6
delfi
Пользователь
 
Регистрация: 11.05.2011
Сообщений: 15
По умолчанию

ПОМОГИТЕ РЕШИТЬ ЗАДАЧУ на С++
Дано значение температуры T в градусах Цельсия. Определить значение этой же температуры в градусах Фаренгейта. Температура по Цельсию TC и температура по Фаренгейту TF связаны следующим соотношением:
TC = (TF – 32)•5/9.
delfi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
реализация алгоритма find_if Progsenya Общие вопросы C/C++ 2 10.09.2010 23:58
реализация алгоритма дешифровки Valx Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 30.03.2010 08:18
Реализация алгоритма Евклида с точностью??? dewer Помощь студентам 8 06.07.2009 08:44
организация циклического алгоритма NEMO1991 Помощь студентам 2 20.12.2008 22:36