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

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


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

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

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

Verena
Статус: Практикант
Рейтинг: 99
∙ повысить рейтинг >>
Лысков Игорь Витальевич
Статус: Специалист
Рейтинг: 55
∙ повысить рейтинг >>
Dr_Andrew
Статус: Студент
Рейтинг: 40
∙ повысить рейтинг >>

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

Выпуск № 1173
от 29.11.2008, 15:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 432, Экспертов: 42
В номере:Вопросов: 8, Ответов: 11

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

Вопрос № 151569: 19.2 Среди элементов находившихся ниже главной диагонали квадратной матрицы, найти минимальный отрицательный элемент....


Вопрос № 151571: Уважаемые, эксперты, помогите разобраться с задачей. Вставить после каждого символа точки (".") один символ пробела ("_"), при условии , что после точки нет пробела. Заранее благодарен за вашу неоценимую помощь! ...
Вопрос № 151579: Привет всем! В одной из моих программ появилась необходимость рисования на компоненте GroupBox. Но возникла проблема в том что у данного компонента нет свойства canvas. Пишу программу на билдере, но буду рад примеру реализации даже на дельфи.<br...
Вопрос № 151586: Помогите не знаю как решить напишите программу которая открывает файл список содержащий имена файлов по одному на строке Программа подсчитывает колич ество предложений во всех файлах и выводит на экран случайно выбранное предложение...
Вопрос № 151591: Здравствуйте. Программа на С. #include <stdio.h> int main(void) { int i; printf(" Sroljko 4isel vq hotite slozhitj?"); scanf("%d", &i); int b; char string[i], temp; for (b=1; b<i...
Вопрос № 151592: Напишите, пожалуйста, код программы в Си Используется оператов switch спрашивает у пользователя два числа дает пользователю выбрать, хочет ли он эти числа сложить, из первого вычесть второе или умножить (т.е. и...
Вопрос № 151626: Здравствуйте, ув. эксперты. Хоть последнее время вы и не радуете меня ответами..... (( Вопрос по шаблонам. Как выполнить контроль типа в шаблоне. Т.е. мне нужно сделать так, чтобы шаблон мог использоваться только для строго определенного...
Вопрос № 151634: плиз, помогите перевести на С/С++!...

Вопрос № 151.569
19.2 Среди элементов находившихся ниже главной диагонали квадратной матрицы, найти минимальный отрицательный элемент.
Отправлен: 23.11.2008, 21:47
Вопрос задал: X-word (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: X-men
Здравствуйте, X-word!
#include <iostream>
#include <conio.h>
using namespace std;

int main(){
const int p = 5;
int x[p][p];
cout << "Enter " << p*p << " elements:" << endl;
int i,j,imin=1,jmin=0;
for (i=0; i<p; i++)
for (j=0; j<p; j++)
cin >> x[i][j];
for (i=0; i<p; i++){
for (j=0; j<p; j++)
cout << x[i][j] << " ";
cout << endl;
}
for (i=1; i<p; i++)
for (j=0; j<i; j++)
if (x[i][j] < x[imin][jmin]){
imin = i;
jmin = j;
}
cout << "Min otricatelnii element: ";
if (x[imin][jmin] < 0) cout << x[imin][jmin];
else cout << "ne bil naiden.";
getch();
return 0;
}
Ответ отправил: X-men (статус: 2-й класс)
Ответ отправлен: 23.11.2008, 23:52

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

    Оценка за ответ: 5
    Комментарий оценки:
    Супер


    Отвечает: realbustard
    Здравствуйте, X-word!
    Код в приложении.
    Будут вопросы, задавайте в минифоруме.
    Компилировано в MS Visual Studio 2005.
    Удачи!

    Приложение:

    ---------
    Учись так, как-будто собираешься жить вечно; живи так, как-будто завтра умрешь (Отто фон Бисмарк)

    Ответ отправил: realbustard (статус: Студент)
    Ответ отправлен: 23.11.2008, 23:59

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

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


    Вопрос № 151.571
    Уважаемые, эксперты, помогите разобраться с задачей. Вставить после каждого символа точки (".") один символ пробела ("_"), при условии , что после точки нет пробела. Заранее благодарен за вашу неоценимую помощь!
    Отправлен: 23.11.2008, 22:01
    Вопрос задал: Watashihi (статус: Посетитель)
    Всего ответов: 1
    Мини-форум вопроса >>> (сообщений: 0)

    Отвечает: Dr_Andrew
    Здравствуйте, Watashihi!
    Решение Вашей задачи в приложении, объяснения - в комментариях к коду. Удачи!

    Приложение:

    Ответ отправил: Dr_Andrew (статус: Студент)
    Ответ отправлен: 24.11.2008, 17:59

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


    Вопрос № 151.579
    Привет всем!
    В одной из моих программ появилась необходимость рисования на компоненте GroupBox. Но возникла проблема в том что у данного компонента нет свойства canvas. Пишу программу на билдере, но буду рад примеру реализации даже на дельфи.
    PS Сроки выполнения программы поджимают, поэтому прошу ответить как можно быстрее.
    PPS Заранее спасибо
    Отправлен: 23.11.2008, 23:17
    Вопрос задал: Ellited (статус: 1-й класс)
    Всего ответов: 1
    Мини-форум вопроса >>> (сообщений: 1)

    Отвечает: Olegzp
    Здравствуйте, Ellited!
    Привожу решение этой проблемы на дельфи, источник :
    http://www.delphisources.ru/pages/faq/base/on_groupbox_drawing.html

    Рисование на GroupBox


    Автор: Ralph Friedman

    Я хочу рисовать на холсте (Canvas) моего компонента GroupBox. Но когда я пробую рисовать на Component.Parent.Canvas, рисование происходит на форме, а не на моем компоненте GroupBox. Что я делаю неправильно?

    Canvas - защищенное свойство TGroupBox и, поэтому, недоступное. Вы можете сделать его доступным следующим образом:
    type
    TMyGroupBox = class(TGroupBox)
    public
    property Canvas;
    end;

    procedure SomeProcedure;
    begin
    ...
    with TMyGroupBox(GroupBox1).Canvas do
    CopyRect(ClipRect, Image1.Canvas, ClipRect);
    ...
    end;

    Приложение:

    Ответ отправил: Olegzp (статус: 7-й класс)
    Ответ отправлен: 24.11.2008, 11:20

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


    Вопрос № 151.586
    Помогите не знаю как решить
    напишите программу которая открывает файл список содержащий имена файлов по одному на строке Программа подсчитывает количество предложений во всех файлах и выводит на экран случайно выбранное предложение
    Отправлен: 24.11.2008, 01:09
    Вопрос задал: Dymych (статус: Посетитель)
    Всего ответов: 1
    Мини-форум вопроса >>> (сообщений: 0)

    Отвечает: Dr_Andrew
    Здравствуйте, Dymych!
    Вариант решения см. в приложении. Для облегчения задачи считаем, что каждое новое предложение в файле начинается с новой строки.

    Приложение:

    Ответ отправил: Dr_Andrew (статус: Студент)
    Ответ отправлен: 24.11.2008, 15:11

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


    Вопрос № 151.591
    Здравствуйте.
    Программа на С.

    #include <stdio.h>

    int main(void) {
    int i;
    printf(" Sroljko 4isel vq hotite slozhitj?");
    scanf("%d", &i);
    int b;

    char string[i], temp;
    for (b=1; b<i; b++) {
    temp=string[b]

    Как дальше быть?
    Нужно программу, которая работает следующим образом:
    спрашивает: сколько чисел хочет сложить пользователь
    запрашивает слагаемые (при помощи цикла)
    суммирует введенные данные
    выдает результат

    Напишите, как Реализовать задание, используя операторы цикла while и do ... while.
    Спасибо.
    Отправлен: 24.11.2008, 02:47
    Вопрос задала: Смирнова Ольга Николаевна (статус: Посетитель)
    Всего ответов: 2
    Мини-форум вопроса >>> (сообщений: 0)

    Отвечает: Dr_Andrew
    Здравствуйте, Смирнова Ольга Николаевна!
    Введённое пользователем число слагаемых (iNumbers в этом решении) используется как счётчик: в каждом повторении цикла уменьшается на единицу. Условием прекращения цикла является обнуление счётчика (iNumbers > 0). Сумма iSum первоначально равна нулю, затем к ней прибавляется очередное слагаемое (iSum += iNumber; вариант записи - iSum = iSum + iNumber). Код в приложении. Удачи!

    Приложение:

    Ответ отправил: Dr_Andrew (статус: Студент)
    Ответ отправлен: 24.11.2008, 13:58

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


    Отвечает: Kamerad
    Здравствуйте, Смирнова Ольга Николаевна!

    #include <stdio.h>
    #include<conio.h>

    int main(void)
    {
    int i;
    printf(" Sroljko 4isel vq hotite slozhitj?";
    scanf("%d", &i);

    int b,n,Summa=0;

    for (b=1; b<i; b++)

    {
    printf(" %d slagaemoe = ",b+1);
    scanf("%d",&n);
    Summa+=n;
    }

    printf(" Resultat : %d",Summa);

    getch();

    return 0;
    }
    Ответ отправил: Kamerad (статус: 7-й класс)
    Ответ отправлен: 25.11.2008, 18:23

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

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


    Вопрос № 151.592
    Напишите, пожалуйста, код программы в Си

    Используется оператов switch
    спрашивает у пользователя два числа
    дает пользователю выбрать, хочет ли он эти числа сложить, из первого вычесть
    второе или умножить (т.е. имеется три варианта выбора)
    выполняет желаемое действие, выдает результат, информируя пользователя о
    произведенном действии.

    Спасибо.
    Отправлен: 24.11.2008, 02:51
    Вопрос задала: Смирнова Ольга Николаевна (статус: Посетитель)
    Всего ответов: 1
    Мини-форум вопроса >>> (сообщений: 0)

    Отвечает: Dr_Andrew
    Здравствуйте, Смирнова Ольга Николаевна!
    Решение Вашей задачи в приложении. Удачи!

    Приложение:

    Ответ отправил: Dr_Andrew (статус: Студент)
    Ответ отправлен: 24.11.2008, 15:41

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

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


    Вопрос № 151.626
    Здравствуйте, ув. эксперты.
    Хоть последнее время вы и не радуете меня ответами..... ((

    Вопрос по шаблонам.
    Как выполнить контроль типа в шаблоне. Т.е. мне нужно сделать так, чтобы шаблон мог использоваться только для строго определенного перечня типов. Например, мне нужно, чтобы компилятор спокойно реагировал на применение типов int и double и громко ругался при попытке использования, скажем, float.

    CTemp<int> i; //Можно
    CTemp<double> d; //Можно
    CTemp<float> f; //Нельзя

    Спасибо за помощь.
    Отправлен: 24.11.2008, 12:01
    Вопрос задал: Грибенников Александр Сергееви (статус: Посетитель)
    Всего ответов: 1
    Мини-форум вопроса >>> (сообщений: 5)

    Отвечает: mega
    Здравствуйте, Грибенников Александр Сергееви!
    Это можно сделать не объявляя общую спецификацию шаблона, выглядит примерно так:

    //объявление шаблона
    template<typename Type>
    class CTemp;

    //доступные спецификации шаблона
    template<>
    class CTemp<int>{
    ...
    };

    template<>
    class CTemp<double>{
    ...
    };

    Чтобы упростить реализацию и исключить повторы, реализуйте 2 шаблона: первый - шаблон который ничего не фильтрует, например CNoFilterTemp, а второй - фильтр, как показано выше, который наследуется от CNoFilterTemp:

    template<>
    class CTemp<int>:public CNoFilterTemp<int>{};

    template<>
    class CTemp<double>:public CNoFilterTemp<double>{};

    Защитить такую связку от автономной работы с классом CNoFilterTemp можно, например, при помощи приватного конструктора, но тогда в классе CNoFilterTemp нужно объявить дружественный класс CTemp, например так:

    template<typename Type>
    class CNoFilterTemp{
    friend class CTemp<Type>;
    ...
    };

    или так (общий случай):

    template<typename Type>
    class CNoFilterTemp{
    template<Type>
    friend class CTemp;
    ...
    };
    Ответ отправил: mega (статус: 10-й класс)
    Ответ отправлен: 24.11.2008, 12:43

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

    Оценка за ответ: 5
    Комментарий оценки:
    Отлично! Спасибо. Есть пара дополнительных вопросов по теме в мини-форуме. Буду признателен за помощь.


    Вопрос № 151.634
    плиз, помогите перевести на С/С++!

    Приложение:

    Отправлен: 24.11.2008, 13:48
    Вопрос задал: Neyaa (статус: Посетитель)
    Всего ответов: 2
    Мини-форум вопроса >>> (сообщений: 0)

    Отвечает: Lex NewtoN
    Здравствуйте, Neyaa!

    Вот код написанный на языке С++. Переведен с паскаля дословно

    Желаю успеха!

    Приложение:

    Ответ отправил: Lex NewtoN (статус: 2-й класс)
    Ответ отправлен: 24.11.2008, 16:41

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


    Отвечает: Verena
    Здравствуйте, Neyaa!
    Я перевела Вашу программу, она компилируется (в VS 2003, в другой среде может быть разница в хидерах (библиотеках в include)), саму работу программы не проверяла. Синтаксис С++ можете посмотреть сами, но уточню некоторые моменты.
    Цикл:
    Pascal: for i:=1 to n do begin тело_цикла end;
    C++: for (i=0; i<n; i++) {тело_цикла} - массивы в си по умолчанию нумеруются с 0
    Объявление типа:
    Pascal: type Domin_Arr=array[1..10] of Kostyashka;
    C++: typedef Domin_Arr Kostyashka [10];
    Подключение библиотек:
    Pascal: uses имя_библиотеки;
    C++: #include "имя_библиотеки.h" или #include <имя_библиотеки[.h]> (для стандартных библиотек)
    Описание функции (процедуры):
    Pascal: function Имя_функции (список_параметров): тип; или procedure Имя_процедуры (список_параметров);
    < i>C++: тип Имя_функции (список_параметров) - аналог процедуры - функция типа void
    Возвращаемый параметр:
    Pascal: var имя: тип
    C++: тип &имя
    Функции реакции пользователя:
    Pascal: readkey, keypressed
    C++: getch(), kbhit() соответсвенно
    Функции ввода данных:
    Pascal: read[ln] -- write[ln]
    C++: cin, scanf -- cout, printf
    В С++ основная программа - функция с зарезервированным именем main, как правило, типа int, но может быть и void. Аналогом типа record можно считать тип struct.
    Более подробно о синтаксисе читайте тут или здесь.
    Удачи!

    Приложение:

    ---------
    Эта история - не для истории, понимаешь?

    Ответ отправила: Verena (статус: Практикант)
    Ответ отправлен: 24.11.2008, 16:52

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


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

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

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

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

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

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


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

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

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

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

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

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


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

    ∙ Версия системы: 5.12 от 19.11.2008

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

    В избранное