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

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


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

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

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

Выпуск № 1106
от 15.09.2008, 19:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 428, Экспертов: 39
В номере:Вопросов: 4, Ответов: 5

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


Вопрос № 143502: <font color="blue"> ЗДРАВСТВУЙТЕ! </font> Обращаюсь к вам с просьбой помочь мне в решении задачки на C++.NET(Написать программу, использующие консольный ввод-вывод и переменные типа с плавающей запятой.) <b> Содержание задачи: </b> Вводится ...
Вопрос № 143503: Здравствуйте! Подскажите пожалуйста, почему код в приложении выдает 14 ошибок типа "undefined symbol _line"? Чую, дело в каких-то подключаемых библиотеках? Спасибо. ...
Вопрос № 143587: <b> Уважаемые эксперты! </b> Обращаюсь к вам за помощью в решении задачи на С++ <font color="blue"> Содержание задачи: </font> Вводится два числа: N1 и N2, и две строки: S1 и S2. Получить из этих строк новую строку, объединив N1 первых симво...
Вопрос № 143588: Приветствую вас, уважаемые эксперты! Перед о мной была поставлена следующая задача(помогите пожалуйста решить её): <font color="blue"> Дано целое число N и набор из N вещественных чисел. Проверить, образует ли данный набор убывающую последовател...

Вопрос № 143.502
ЗДРАВСТВУЙТЕ!
Обращаюсь к вам с просьбой помочь мне в решении задачки на C++.NET(Написать программу, использующие консольный ввод-вывод и переменные типа с плавающей запятой.)
Содержание задачи:
Вводится три кода игральной карты (6,7, ... В,Д,К,Т). Вывести набранную сумму.
Спасибо тем, кто поможет в решении задачи!!!
Отправлен: 09.09.2008, 19:14
Вопрос задал: Минин Руслан Васильевич (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Николай // ~МMM~
Здравствуйте, Минин Руслан Васильевич!

Код С++ программы в приложении, скомпил. на MS VS 2005.

P.S. Я так и не получил от Вас ответа по поводу того в какой карты каое значение. Но я сделал так: карты 6,7...10 имеют значения 6,7...10 (по желанию можете изменить), а значения карт В,Д,К,Т - вводит с клавиатуры пользователь, после этого выбирает 3 карты и получает сумму. Эту задачку можно было бы решить НАМНОГО проще, но я решил не писать код сильно заумным. Будут вопросы по коду - пишите в мини-форум вопроса.

Удачи!

Приложение:

---------
Не ошибается лишь тот, кто ничего не делает. Не бойтесь ошибаться. Бойтесь повторять ошибки. (Теодор Рузвельт, 1858 - 1919)

Ответ отправил: Николай // ~МMM~ (статус: 8-ой класс)
Ответ отправлен: 09.09.2008, 22:35
Оценка за ответ: 5
Комментарий оценки:
Очень доволен ответом Николая! Настолько всё грамотно описано, что остается только любоваться и благодарить его за такой полный ответ СПАСИБО!!!

Отвечает: Терсков Сергей
Здравствуйте, Минин Руслан Васильевич!
Для решения вашей задачи я использовал следующие коды карт: 6-6, 7-7, 8-8, 9-9, 10-10, J-2, Q-3, K-4, A-11. Код программы достаточно простой, нужно лишь определить количество очков введенного кода карты и прибавлять его к общей сумме. Вот и сам код:
Код:
#include
<vector>
#include <string>
#include <iostream>

using namespace std;

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

const int cards_amount = 9;

vector<pair<string, int> > cards(cards_amount);

cards[0] = make_pair(string("6"), 6);
cards[1] = make_pair(string("7"), 7);
cards[2] = make_pair(string("8"), 8);
cards[3] = make_pair(string("9"), 9);
cards[4] = make_pair(string("10"), 10);
cards[5] = make_pair(string("J"), 2);
cards[6] = make_pair(string("Q"), 3);
cards[7] = make_pair(string("K"), 4);
cards[8] = make_pair(string("A"), 11);

cout << "Cards:" << endl;
for(int i=0; i<cards_amount; i++)
cout << cards[i].first << ": " << cards[i].second << " points" << endl;

string input;

const int buffer_size = 80;
char buffer[buffer_size];

int summ = 0;

cout << endl;
for(int i=0; i<3; i++) {

cout << "Input " << i+1 << " card code: ";

cin.getline(buffer, buffer_size);
input = buffer;

for(int j=0; j<cards_amount; j++) {

if(cards[j].first == input) {

summ += cards[j].second;
break;
}
}
}

cout << endl << "Summ of cards: " << summ << endl;

return 0;
}
Ответ отправил: Терсков Сергей (статус: Специалист)
Ответ отправлен: 10.09.2008, 04:09
Оценка за ответ: 5
Комментарий оценки:
Уважаемый,Терсков Сергей! Вами и вашим талантом остается только восхищаться Спасибо вам огромное за помощь и поддержку в изучении языка программирования!


Вопрос № 143.503
Здравствуйте!
Подскажите пожалуйста, почему код в приложении выдает 14 ошибок типа "undefined symbol _line"?
Чую, дело в каких-то подключаемых библиотеках?
Спасибо.

Приложение:

Отправлен: 09.09.2008, 19:15
Вопрос задал: LexXx (статус: Практикант)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 4)

Отвечает: Терсков Сергей
Здравствуйте, LexXx!
Дело заключается именно в подключаемых библиотеках. Как я понимаю вы используете BC++ 3.1. Тогда вам нужно в меню Libraries (Options->Linker->Libraries) отметить пункт Graphics library и все отлично будет компилироваться.
Ответ отправил: Терсков Сергей (статус: Специалист)
Ответ отправлен: 10.09.2008, 02:52
Оценка за ответ: 5
Комментарий оценки:
Спасибо, теперь вылетает на вот этой строчке: initgraph (&gd, &gm," "); Странно =)


Вопрос № 143.587
Уважаемые эксперты!
Обращаюсь к вам за помощью в решении задачи на С++
Содержание задачи:
Вводится два числа: N1 и N2, и две строки: S1 и S2. Получить из этих строк новую строку, объединив N1 первых символов строки S1 и N2 последних символов строки S2.
Помогите эксперты
Заранее спасибо!!!
Отправлен: 10.09.2008, 17:03
Вопрос задал: Смирнов Сергей Витальевич (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Терсков Сергей
Здравствуйте, Смирнов Сергей Витальевич!
Для этого можно воспользоваться строками из STL. Для решения данной задачи необходимо использовать функцию substr. Она возвращает подстроку необходимой длины с указанной позиции. Подробнее смотрите в коде:
Код:
#include <string>
#include <iostream>
#include <limits>

using namespace std;

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

int n1;
int n2;

cout << "Input n1: ";
cin >> n1;

cout << "Input n2: ";
cin >> n2;

cin.ignore(numeric_limits<streamsize>::max(), ' ');

const int buffer_size = 80;
char buffer[buffer_size];

cout << endl << "Input s1: ";
cin.getline(buffer, buffer_size);

string s1 = buffer;

cout << endl << "Input s2: ";
cin.getline(buffer, buffer_size);

string s2 = buffer;

cout << "n1 left symbols of s1 and n2 right symbols of s2:" << endl;
cout << s1.substr(0, n1) << s2.substr(s2.length() - n2, n2) << endl;

return 0;
}
Ответ отправил: Терсков Сергей (статус: Специалист)
Ответ отправлен: 11.09.2008, 03:29
Оценка за ответ: 5
Комментарий оценки:
Об этом специалисте можно говорить сколько угодно. Я поражаюсь таким высочайшим талантом этого человека Огромное ему за помощь СПАСИБО!!!


Вопрос № 143.588
Приветствую вас, уважаемые эксперты!
Передо мной была поставлена следующая задача(помогите пожалуйста решить её):
Дано целое число N и набор из N вещественных чисел. Проверить, образует ли данный набор убывающую последовательность. Если образует, то вывести True, если нет - вывести False.

СПАСИБО!!!
Отправлен: 10.09.2008, 17:13
Вопрос задал: Минин Руслан Васильевич (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Терсков Сергей
Здравствуйте, Минин Руслан Васильевич!
Для этого необходимо в цикле проверить все соседние элементы массива. Если каждый правый элемент меньше левого, то последовательность убывающая, иначе нет. Подробнее смотрите в коде:
Код:
#include <stdlib.h>
#include <time.h>

#include <vector>
#include <iostream>

using namespace std;

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

int n;

cout << "Input n: ";
cin >> n;

vector<double> v(n);

srand((unsigned) time(NULL));

int random_limit = 100;

cout << "Initial array:" << endl;
for(int i=0; i<n; i++) {

v[i] = double(rand()%random_limit) + 1.0/double(rand()%random_l imit + 1);
cout << v[i] << endl;
}

bool is_decrease = true;

for(int i=n-1; i>1; i--) {

if(v[i] > v[i-1]) {

is_decrease = false;
break;
}
}

cout << endl << "Is decreasing sequence: " << ((is_decrease) ? "true" : "false") << endl;

return 0;
}
Ответ отправил: Терсков Сергей (статус: Специалист)
Ответ отправлен: 11.09.2008, 03:40
Оценка за ответ: 5
Комментарий оценки:
Такие отзывчивые и умные люди-навес золота! Огромное спасибо вам,Терсков Сергей!


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

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

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

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

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

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


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


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

∙ Версия системы: 5.3 RC 2 от 09.09.2008

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

В избранное