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

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


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

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

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

Micren
Статус: Практикант
Рейтинг: 101
∙ повысить рейтинг >>
Hubbitus
Статус: 10-й класс
Рейтинг: 93
∙ повысить рейтинг >>
witek25
Статус: 3-й класс
Рейтинг: 40
∙ повысить рейтинг >>

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

Выпуск № 1290
от 21.04.2009, 22:35

Администратор:Dr_Andrew
В рассылке:Подписчиков: 511, Экспертов: 37
В номере:Вопросов: 2, Ответов: 4

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

Вопрос № 165138: <b>Здравствуйте!</b> Уважаемы эксперты,помогите:(2 задачи): 1. Дан массив из десяти целых чисел (заполненный разными значениями по Вашему усмотрению). Найти два наиболее близких друг к другу числа. Например, если массив содержит [0,14,72,53,41,...


Вопрос № 165151: <font color="blue">Уважаемые эксперты</font> Срочно помогите,пожалуйста,решить задачи: <i> 1. Дан массив из пяти строк (заполненный разными значениями по Вашему усмотрению). Сформировать второй массив, в который поместить из первого все стро...

Вопрос № 165.138
Здравствуйте!
Уважаемы эксперты,помогите:(2 задачи):
1. Дан массив из десяти целых чисел (заполненный разными значениями по Вашему усмотрению). Найти два наиболее близких друг к другу числа. Например, если массив содержит [0,14,72,53,41,115,167,703,51,9], то искомыми значениями являются 53 и 51

2.Дан массив из десяти целых чисел (заполненный разными значениями по Вашему усмотрению). Сформировать второй массив (динамический), в который отобрать из первого все числа, заканчивающиеся цифрой 7. Например, если первый массив содержит [8,27,1,34,12,7,6,57,4,9], то создаваемый массив должен содержать [27,7,57].

СПАСИБО! Очень надеюсь на вашу помощь!
Отправлен: 16.04.2009, 17:05
Вопрос задал: Поляков Алексей Михайлович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Micren
Здравствуйте, Поляков Алексей Михайлович!
Решение 2й задачи(Visual Studio 2008):
Код:

#include <locale>
#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
locale::global(locale("russian_russia.866"));
// Исходный массив
int array[]={8,27,1,34,12,7,6,57,4,9};
// Размер массива
unsigned int arraySize=sizeof(array)/sizeof(array[0]);
// Количество элементов оканчивающихся на 7
unsigned int requiredCapacity=0;
// Выводим исходный массив и сразу считаем количество элементов оканчивающихся на 7
wcout<<L"Исходный массив:"<<endl;
for(unsigned int i=0;i<arraySize;++i)
{
wcout<<setw(4)<<array[i]<<& #39; ';
requiredCapacity+=array[i]%10==7;
}
wcout<<endl;
// Наш динамический массив
int* last7Array=0;
try
{
// Выделим память
last7Array=new int[requiredCapacity];
// Заполним массив оканчивающихся на 7
for(unsigned int i=0,j=0;i<arraySize;++i)
if(array[i]%10==7)last7Array[j++]=array[i];
// Выводим его
wcout<<L"Получился следующий массив элементов заканчивающихся цифрой 7:"<<endl;
for(unsigned int i=0;i<requiredCapacity;++i)
wcout<<setw(4)<<last7Array[i]<<' ';
wcout<<endl;
}
catch (bad_alloc)
{
wcout<<L"Не могу выделить память"<<endl;
}
// Освободим память
if(last7Array)delete[]last7Array;
system("PAUSE");
return 0;
}

Результат работы:
Код:

Исходный массив:
8 27 1 34 12 7 6 57 4 9
Получился следующий массив элементов заканчивающихся цифрой 7:
27 7 57
Ответ отправил: Micren (статус: Практикант)
Ответ отправлен: 16.04.2009, 19:08

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


    Отвечает: Ilkras
    Здравствуйте, Поляков Алексей Михайлович!
    Первая задача решается следующим образом:

    Приложение:

    Ответ отправил: Ilkras (статус: Студент)
    Ответ отправлен: 16.04.2009, 21:55

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


    Вопрос № 165.151
    Уважаемые эксперты
    Срочно помогите,пожалуйста,решить задачи:

    1. Дан массив из пяти строк (заполненный разными значениями по Вашему усмотрению). Сформировать второй массив, в который поместить из первого все строки в порядке возрастания числа символов в них. Например, если первый массив содержит ["кошка" "собака", "крокодил", "жаба", "обезъяна"], то создаваемый массив должен содержать ["жаба", "кошка", "собака", "крокодил", "обезъяна"].
    2. Дан массив из десяти целых чисел (заполненный разными значениями по Вашему усмотрению). Сформировать второй массив того же размера, нулевым элементом которого является наибольшее по значению число первого массива, затем следующее по величине и т.д. Например, если первый массив содержит [8,2,1,3,0,7,6,5,4,9], то создаваемый массив должен содержать [9,8,7,6,5,4,3,2,1,0].


    Помогите,эксперт ы!
    Отправлен: 16.04.2009, 21:46
    Вопрос задал: Миронычев Виталий (статус: Посетитель)
    Всего ответов: 2
    Мини-форум вопроса >>> (сообщений: 0)

    Отвечает: Ilkras
    Здравствуйте, Миронычев Виталий!
    Первая задача следующим образом:

    Приложение:

    Ответ отправил: Ilkras (статус: Студент)
    Ответ отправлен: 17.04.2009, 00:18

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


    Отвечает: Терсков Сергей
    Здравствуйте, Миронычев Виталий!
    Это задачи на сортировку. Различаются они лишь условием для сортировки массивов. Вот вариант решения с использованием STL.
    Код:

    #include <time.h>
    #include <cstdlib>
    #include <vector>
    #include <string>
    #include <algorithm>
    #include <functional>
    #include <iomanip>
    #include <iostream>

    using namespace std;

    bool less_length(const string& s1, const string& s2) {

    return s1.length() < s2.length();
    }

    int main(int argc, char *argv[]) {

    setlocale(LC_ALL, "russian_russia");

    vector<string> v1;

    v1.push_back(string("кошка"));
    v1.push_back(string("собака"));
    v1.pu sh_back(string("крокодил"));
    v1.push_back(string("жаба"));
    v1.push_back(string("обезъяна"));

    cout << "Задача №1." << endl << endl;

    cout << "Исходный массив:" << endl << endl;

    for(vector<string>::iterator iter = v1.begin();
    iter != v1.end();
    ++iter) {

    cout << *iter << endl;
    }

    sort(v1.begin(), v1.end(), less_length);

    cout << endl << "Отсортированный массив" << endl << endl;

    for(vector<string>::iterator iter = v1.begin();
    iter != v1.end();
    ++iter) {

    cout << *iter << endl;
    }

    cout << endl << "Задача №2." << endl << endl;

    vector<int> v2;

    srand((unsigned) time(NULL));

    int size = 10;

    int rand_min = -100;
    int rand_max = 100;

    for(int i=0 ; i<size; i++)
    v2.push_back(rand()%(rand_max - rand_min) + rand_min);

    cout << "Исходный массив:" << endl << endl;

    for(vector<int>::iterator iter = v2.begin();
    iter != v2.end();
    ++iter) {

    cout << setw(4) << *iter;
    }

    sort(v2.begin(), v2.end(), greater<int>());

    cout << endl << endl << "Отсортированный массив" << endl << endl;

    cout << setw(4);
    for(vector<int>::iterator iter = v2.begin();
    iter != v2.end();
    ++iter) {

    cout << setw(4) << *iter;
    }

    cout << endl;

    system("pause");

    return 0;
    }
    Ответ отправил: Терсков Сергей (статус: Специалист)
    Ответ отправлен: 17.04.2009, 07:57

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


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

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

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

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

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

    Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
    экспертам другой рассылки портала 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

    В избранное