Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Хостинг Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг на Windows 2008

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

Чемпионы рейтинга экспертов в этой рассылке

Лысков Игорь Витальевич
Статус: Специалист
Рейтинг: 276
∙ повысить рейтинг >>
Хватов Сергей
Статус: Практикант
Рейтинг: 44
∙ повысить рейтинг >>
Emmanuel Goldstein
Статус: 3-й класс
Рейтинг: 30
∙ повысить рейтинг >>

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 1210
от 09.01.2009, 22:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 461, Экспертов: 46
В номере:Вопросов: 2, Ответов: 6

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>

Вопрос № 156637: Здравствуйте! Помогите решить задачку по массивам на С++ (первый раз на вашем портале) Условие: Вычислить максимальный и минимальный элементы и поменять их местами Заранее благодарен! С ув. Вячеслав....


Вопрос № 156638: Здравствуйте уважаемые Эксперты. Я только-только начал изучать язык С++ и при написании программы( программа написана с использованием Microsoft Visual Studio 2008 pro, на операционной системе Windows Vista Ultimate SP 1), текст которой приведен ниже...

Вопрос № 156.637
Здравствуйте! Помогите решить задачку по массивам на С++ (первый раз на вашем портале)

Условие:
Вычислить максимальный и минимальный элементы и поменять их местами

Заранее благодарен! С ув. Вячеслав.
Отправлен: 04.01.2009, 16:38
Вопрос задал: Eargonx (статус: Посетитель)
Всего ответов: 5
Мини-форум вопроса >>> (сообщений: 13)

Отвечает: Micren
Здравствуйте, Eargonx!

Программа откомпилирована и проверена MS Visual Studio 2008

Приложение:

Ответ отправил: Micren (статус: 5-й класс)
Ответ отправлен: 04.01.2009, 17:05

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 240274 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Отвечает: Djec
    Здравствуйте, Eargonx!
    Вот исходный код:

    Код:

    #include <iostream.h>
    #include <conio.h>
    #include <bios.h>
    #include <iomanip.h>

    int main()
    {
    const int N_Max = 100;
    int A[N_Max];
    int i, N, Min, Max, i_Max, i_Min;

    clrscr();
    cout << "Введите размерность массива А: ";
    cout << "N=";
    cin >> N;
    cout << "Введите " << N << " элементов массива А: ";
    for ( i = 0; i < N; i++ )
    cin >> A[i];

    cout << " Исходный массив A ";
    for ( i = 0; i < N; i++ )
    cout << setw(3) << A[i];

    Min = A[0];
    i_Min = 0;
    Max = A[0];
    i_Max = 0;
    for ( i = 1; i < N; i++ )
    {
    if ( A[i] < Min )
    {
    Min = A[i];
    i_Min = i;
    }
    if ( A[i] > Max )
    {
    Max = A[i];
    i_Max = i;
    }
    }

    A[i_Min] = Max;
    A[i_Max] = Min;

    cout << " Максимальный элемент массива A равен ";
    cout << Max << endl;
    cout << "Минимальный элемент массива A равен ";
    cout << Min << endl;

    cout << "Преобразованный массив";
    for ( i = 0; i < N; i++ )
    cout << setw(3) << A[i];


    bioskey( 0 );
    return 0;
    }

    ---------
    Я бы изменил мир, но Бог не дает исходников...
    Ответ отправил: Djec (статус: Студент)
    Ответ отправлен: 04.01.2009, 17:17

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 240276 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Отвечает: Николай // Programmator
    Здравствуйте, Eargonx!

    Полностью комментированый код для решения Вашей задачи в приложении. Скомпилировано в МS Visual Studio 2005.

    Удачи Вам!!!

    Приложение:

    Ответ отправил: Николай // Programmator (статус: 9-й класс)
    Ответ отправлен: 04.01.2009, 18:16

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 240278 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Отвечает: realbustard
    Здравствуйте, Eargonx!
    Вариант с использованием указателей.
    Компилировано в MS Visual Studio 2005.
    Код:

    //определяет потоковый ввод-вывод
    #include <iostream>
    //Позволяют использовать ф-ю rand()
    #include <time.h>
    #include <stdlib.h>

    //Определяет стандартное пространство имен
    using namespace std;

    int main()
    {
    srand(time(NULL)); //Для генерации случайных чисел
    setlocale(LC_CTYPE, "Russian"); //Поддержка кириллических символов

    const int n = 20; //Размер массива
    int arr[n]; //Объявление массива

    int *Max = arr, //Указатель на максимальный элемент
    *Min = arr, //Указатель на минимальный элемент
    *p = arr, //Указатель на текущий элемент (при меняется в цикле)
    *End = &arr[n-1];//Указатель на конец массива
    int temp; //Переменная для обмена минимального и максимального значений



    //Заполнение массива, вывод его на экран
    cout << " Исходный массив: ";
    for(p = arr ; p != End ; p++){
    *p = rand()%101-50;
    cout << *p << " " ;
    }

    for( p = arr ; p != End ; p++ ){
    if (*p > *Max) Max = p;
    if (*p < *Min) Min = p;
    }

    //Обмен минимального и максимального значений
    temp = *Max;
    *Max = *Min;
    *Min = temp;

    //Вывод измененного массива
    cout << " Полученный массив: " ;
    for(p = arr ; p != End ; p++)
    cout << *p << " " ;

    return 0;
    }

    ---------
    Учись так, как-будто собираешься жить вечно; живи так, как-будто завтра умрешь (Отто фон Бисмарк)
    Ответ отправил: realbustard (статус: Студент)
    Ответ отправлен: 04.01.2009, 18:31

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 240279 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Отвечает: shayen
    Здравствуйте, Eargonx!
    простой вариант вашей программы в приложении, компилировался в VS 2005.

    Приложение:

    Ответ отправил: shayen (статус: Студент)
    Ответ отправлен: 04.01.2009, 19:00

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 240281 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вопрос № 156.638
    Здравствуйте уважаемые Эксперты. Я только-только начал изучать язык С++ и при написании программы( программа написана с использованием Microsoft Visual Studio 2008 pro, на операционной системе Windows Vista Ultimate SP 1), текст которой приведен ниже, возникает следующая ошибка:
    " Unhandled exception at 0x695cf8e0 (msvcr90d.dll) in Массивы. Имитация раздачи карт.exe: 0xC0000005: Access violation reading location 0x00000000. "
    Скажите, пожалуйста, с чем связана эта ошибка и как мне ее исправить.

    Спасибо.
    С Уважением, Александр.

    Приложение:

    Отправлен: 04.01.2009, 16:53
    Вопрос задал: Aerus (статус: Посетитель)
    Всего ответов: 1
    Мини-форум вопроса >>> (сообщений: 0)

    Отвечает: Лысков Игорь Витальевич
    Здравствуйте, Aerus!
    Ваша ошибка в том, что Вы считаете индексы от 1, а надо от 0
    Код:
    void Razd()
    {
    int m;
    int k;
    m = rand() % 4;
    k = rand() % 13;
    cout<<karta[k]<<" "<<mast[m]<<endl;
    }

    Удачи!
    ---------
    Удачи!
    Ответ отправил: Лысков Игорь Витальевич (статус: Специалист)
    Ответ отправлен: 05.01.2009, 00:20

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 240308 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5


    Вы имеете возможность оценить этот выпуск рассылки.
    Нам очень важно Ваше мнение!
    Оценить этот выпуск рассылки >>

    Отправить вопрос экспертам этой рассылки

    Приложение (если необходимо):

    * Код программы, выдержки из закона и т.п. дополнение к вопросу.
    Эта информация будет отображена в аналогичном окне как есть.

    Обратите внимание!
    Вопрос будет отправлен всем экспертам данной рассылки!

    Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
    экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


    Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
    Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров >>

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2009, Портал RusFAQ.ru, Россия, Москва.
    Авторское право: ООО "Мастер-Эксперт Про"
    Техподдержка портала, тел.: +7 (926) 535-23-31
    Хостинг: "Московский хостер"
    Поддержка: "Московский дизайнер"
    Авторские права | Реклама на портале

    ∙ Версия системы: 5.13 от 01.12.2008

    Яндекс Rambler's Top100
    RusFAQ.ru | MosHoster.ru | MosDesigner.ru
    RusIRC.ru | Kalashnikoff.ru | RadioLeader.ru

    В избранное