Вопрос № 160208: Здравствуйте, уважаемые эксперты! Подскажите пожалуйста где можно приобрести или скачать книгу: Уильям Топп, Уильям Форд "Структуры данных в С++". Или если у кого есть поделитесь пожалуйста. Заранее спасибо!...
Вопрос № 160214: <b>Добрый вечер! Помогите пожалуйста решить задачу. Постановка задачи</b>: Создайте класс Rational,воплощающий абстракцию рациональных чисел,представляемых
в виде дробей с числителем(numerator) и знаменателем(den...Вопрос № 160286: Уважаемые, Товарищи.. прошу помощи с программой на VC++2008 Объявляем число строк Целочисленная прямоугольная матрица, найти номера первых столбцов, не содержащих ни одного отрицательного элемента, со статическим раcпределением, код разбить на...
Вопрос № 160.208
Здравствуйте, уважаемые эксперты! Подскажите пожалуйста где можно приобрести или скачать книгу: Уильям Топп, Уильям Форд "Структуры данных в С++". Или если у кого есть поделитесь пожалуйста.
Заранее спасибо!
Отправлен: 11.02.2009, 16:54
Вопрос задал: Draconit (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Olegzp
Здравствуйте, Draconit! Не хуже Томас Кормен, Чарльз Лейзерсон, Рональд Ривест, Клиффорд Штайн. Алгоритмы: построение и анализ, 2-е издание http://c-books.info/books/news5.php/2006/05/11/algoritmy-postroenie-i-analiz.html
Ответ отправил: Olegzp (статус: 6-й класс)
Ответ отправлен: 11.02.2009, 17:19
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 243415 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 4
Вопрос № 160.214
Добрый вечер! Помогите пожалуйста решить задачу. Постановка задачи: Создайте класс Rational,воплощающий абстракцию рациональных чисел,представляемых в виде дробей с числителем(numerator) и знаменателем(denominator).Инкапсулируйте в классе Rational функции-члены класса, реализующие основные действия над рациональными числами (+,-,умножение и деление). Не забудьте о необходимости сокращения дробей в ходе вычислений. Определите функцию печати рационального числа. Продумайте
способ задания рационального числа,представляемого переменными-членами класса(нужно ли ограничить доступ к ним извне?).Какие еще методы класса Вы могли бы предложить? Напишите тестирующую программу для проверки спроектированного класса. Сколько это будет стоить?
Отправлен: 11.02.2009, 17:30
Вопрос задал: dmi_5116 (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Micren
Здравствуйте, Bvif fvif ivbif! Вот Ваш класс:
Насчет последней части вопроса это как совесть подскажет
Ответ отправил: Micren (статус: Студент)
Ответ отправлен: 11.02.2009, 20:00
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 243425 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5
Вопрос № 160.286
Уважаемые, Товарищи.. прошу помощи с программой на VC++2008
Объявляем число строк Целочисленная прямоугольная матрица, найти номера первых столбцов, не содержащих ни одного отрицательного элемента, со статическим раcпределением, код разбить на функции.
// Максимальные значения для размерности матрицы const int MaxDimension=100; //
Матрица. Память распределяется статически. double matrix[MaxDimension][MaxDimension];
int main() { locale::global(locale("rus_rus.866")); do { // Вводим количество строк матрицы unsigned int N=inputDimension(L"Количество с
трок матрицы"); // Вводим количество столбцов матрицы unsigned int M=inputDimension(L"Количество столбцов матрицы"); // Вводим матрицу inputMatrix(N,M); // Выводим матрицу для контроля printMatrix(N,M); // Ищем столбцы без отрицательных wcout<<L"Столбцы не содержащие ни одного отрицательного элемента:"; // Счетчик столбцов unsigned int cnt=0; for(unsigned int j=0;j<M;j++) { for(unsigned int i=0;i<N;i++) { //
Проверка if(matrix[i][j]<0)goto is_not_it; } cnt++; // Выводим номер столбца. Нумеруем с единицы wcout<<j+1<<L','; is_not_it:; } if(cnt)wcout<<L" "; else wcout<<L"Отсутствуют"; wcout<<endl; wcout<<L"Найдено "<<cnt <<(cnt<5&&cnt>1?L" столбца":(cnt==1?L" столбец":L" столбцов&
quot;)) <<L" не содержащих отрицательных."<<endl; }while(isCont()); return 0; }
unsigned int inputDimension(const wchar_t* const msg) { unsigned int dim=0; while(!dim) { wcout<<msg<<L'('<<1<<L".."<<MaxDimension<<L"):"; wcin>>dim; if(wcin.fail()) { wcout<<L"Ошибка ввода!"<<endl; wcin.clear(); } wcin.ignore(numeric_limits<streamsize>::max(),L'
'); if(dim>MaxDimension) { wcout<<L"Размер не может быть больше "<<MaxDimension<<endl; dim=0; } } return dim; }
bool isCont() { // Вопрос о продолжении while(1) { wcout<<L"Желаете еще раз(Y/N)?:"; wchar_t reply=_getwche(); wcout<<endl; switch(reply) { case L'Y':case L'y':case L'Д':case L'д': return true; case L'N':case
L'n':case L'Н':case L'н': return false; default: wcout<<L"Будьте внимательней!"<<endl; continue; } break; } }
void printMatrix(unsigned int N,unsigned int M) { wcout<<L"Исходная матрица:"<<endl; for(unsigned int i=0;i<N;i++) { for(unsigned int j=0;j<M;j++) wcout<<setw(7)<<matrix[i][j]<<L' ';
wcout<<endl; } }
void inputMatrix(unsigned int N,unsigned int M) { for(unsigned int i=0;i<N;i++) { for(unsigned int j=0;j<M;j++) { // Вводим элемент while(1) { // Хотя в C++ индексы начинаются с нуля, для удобства пользователя нумеруем с единицы wcout<<L'['<<i+1<<L"]["<<j+1<<L"]="; wcin>>matrix[i][j]; if(wcin.fail()) { wcout<<L"Ошибка
ввода!"<<endl; wcin.clear(); wcin.ignore(numeric_limits<streamsize>::max(),L'
'); } else { wcin.ignore(numeric_limits<streamsize>::max(),L'
'); break; } } } } }
Результат:
Код:
Количество строк матрицы(1..100):3 Количество столбцов матрицы(1..100):4 [1][1]=23 [1][2]=34 [1][3]=45 [1][4]=6 [2][1]=3 [2][2]=-6 [2][3]=34 [2][4]=2 [3][1]=-5 [3][2]=23 [3][3]=45 [3][4]=67 Исходная
матрица: 23 34 45 6 3 -6 34 2 -5 23 45 67 Столбцы не содержащие ни одного отрицательного элемента:3,4 Найдено 2 столбца не содержащих отрицательных. Желаете еще раз(Y/N)?:
Ответ отправил: Micren (статус: Студент)
Ответ отправлен: 12.02.2009, 17:51
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 243498 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.