PDA

Показать полную графическую версию : Помогите с решнием задач:)


DruOleg
01-02-2009, 13:59
Тема: Потоки. Использование стандартного ввода-вывода (iostream)(1-5 задания). Наследование. Иерархия и контейнерные классы(задание 6)
1. Написать программу вычисления наибольшего общего делителя двух целых чисел. Наибольший общий делитель рекурсивно вычисляется следующим образом;
GCD(m, n) is:
if m mod n equals 0 then n;
else GCD(n, m mod n);
Программа должна использовать цикл while. Входные данные поступают с клавиатуры. Результат выводится на экран. Предусмотреть обработку ошибок.
2. Написать программу, печатающую символы от A до Z. Использовать цикл while. В строку выводится номер, символ, шестнадцатеричный и восьмеричный код.
З. Написать программу решения квадратного уравнения. Корни только вещественные. Ввод и вывод через стандартные потоки ввода-вывода. Вывод результата в “научном” формата. Установить ширину поля 12 символов, установить точность 4 цифры, заполнить вместо пробелов символом _. с помощью функций и манипуляторов.
4. Проверить какие флаги потока вывода установлены и заменить попарно на десятичные, на шестнадцатеричные (и наоборот), обычную на научную нотацию (и наоборот) Проверить результат.
5. Написать программу с двумя своими манипуляторами. Один выводит сообщение, другой устанавливает шестнадцатеричный вывод и переход на новую строку.
б. Используя иерархию и композицию классов, создать бинарное дерево. У бинарного дерева есть корневой узел. Мы можем вставлять узел. Мы можем обходить вначале левое поддерево, потом правое (последовательный обход) и обратный обход. Узел может быть помещен в дерево двоичного поиска только в качестве концевого узла. Если дерево является пустым, то создается новый экземпляр класса узел дерева и узел помещается в дерево. Если дерево не является пустым, то программа сравнивает вставляемое в дерево значение со значением в корневом узле и если меньше, то помещает в левые поддеревья, а если больше, то в правые. Если значения равны, то выводится сообщение, что повтор и не вставляется.

Drongo
01-02-2009, 14:54
Помогите с решнием задач:) »Тема называется Помогите, а не решите за меня. Есть какие-то варианты решений или моменты которые не понятны?

//Программа нахождения наибольшего общего делителя
#include <iostream>
using std::cout;
using std::cin;
using std::endl;

void ged(int, int);

int c = 1;

int main()
{
...
// Объявление переменных
// Считывание с клавиатуры
// Проверка на валидность
// Передача аргументов функции
...

return 0;
}

// Рекурсивная функция нахождения НОД
void ged(int number1, int number2)
{
c = number1 % number2;
number1 = number2;
number2 = c;

if(c != 0)
ged(number1, number2);
else
cout<<"\n MAXIMUM OBSCHIY DELITEL CHISEL RAVEN: "<<number1<<endl;
}

З. Написать программу решения квадратного уравнения. »Решение не проверяет наличие ошибок и без форматирования, но содержит идею вычисления корня.
...
double a, b, c, d; // объявления переменных
d = b * b + 4 * a * c; // нахождение дискриминанта

if(d < 0)
cout<<" НЕТ КОРНЕЙ!!! "; // если нет корней

double x1 = (-b + sqrt(d)) / (2 * a); // 1 корень
double x2 = (-b - sqrt(d)) / (2 * a); // 2 корень

cout<<" x1: "<<x1<<endl;
cout<<" x2: "<<x2<<endl;
...
Частичные решения для задания № 2 присутствуют в этой теме - [решено] Четыре задачи начального уровня (http://forum.oszone.net/thread-122134.html)

DruOleg
24-02-2009, 10:09
Люди добрые. Горю с сессией, помогите пожалуйста с решением задач....
Учусь на заочном отделении, бюджетник, был в рабочей командировке, приехал на той неделе только, сходил на кафедру - там надавали заданий...
С паскалем я еще бы и сам справился - но вот с С++ - честно старался разобраться еще в том году, самостоятельно не смог, да и так не смог найти рабочий си бюлдер...
Заранее благодарен всем за проявление помощи!

Admiral
25-02-2009, 01:22
DruOleg, тогда на Паскале стоит пробовать решать.
Переводы с одного языка на другой в темах раздела Программирования встречаются.
В любом случаи даже если позже перевести не удастца - преподу можно показать и эти труды, что б оценил реализацию.
Среда и компилятор обязательно от Борланд? Если нет то можно поискать и от других производителей.




© OSzone.net 2001-2012