Форум программистов, компьютерный форум CyberForum.ru

Дроби - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Функция isspace http://www.cyberforum.ru/cpp-beginners/thread807856.html
Это код из книги Шилда: int main(void) { char ch = getchar(); if(isdigit(ch)) printf("%c является цифрой\n", ch); } return 0; }
C++ частично рекурсивная функция поиск по номеру и востанавливать по номеру частично рекурсивная функция поиск по номеру и востанавливать по номеру. http://www.cyberforum.ru/cpp-beginners/thread807849.html
C++ Шаблонная функция принимает 2 аргумента разных типов и возвращает больший из них
Не могу сообразить как ее правильно написать. Функция может возвратить или T1 или T2 template <typename T1, typename T2> ? GetMax(const T1 &a, const T2 &b) { if (a>b) return a; else return b; } Добавлено через 21 минуту
C++ Рисунок получается битым
В ходе обучения создал простенький генератор точечных рисунков. Столкнулся с проблемой. Описание в комментариях. #include <stdio.h> #include <iostream> #include <windows.h> using namespace std; #pragma pack (push, 1) struct bmpHeader { //header
C++ Очень нужен совет где найти ошибки в программе http://www.cyberforum.ru/cpp-beginners/thread807796.html
//Obrabotka rezulitatov sessii s ispolizovaniem functii #include<iostream> #include<iomanip> #include<string.h> #include<assert.h> #include<conio.h> #include<cstdlib> using namespace std;
C++ Простое число bool prostoechislo(int n) //функция определяющая простое число или нет { if (n < 2) return false; if (n == 2) return true; if (n % 2 == 0) return false; for (int j = 3; j * j <= n; j += 2) if (n % j == 0) return false; return true; } Вот функция никак не пойму цикл подробнее

Показать сообщение отдельно
Kins
59 / 58 / 6
Регистрация: 03.02.2013
Сообщений: 167
13.03.2013, 22:15     Дроби
часть тут:
алгоритм наибольшего общего делителя(с)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void lowterms()
    {
        long tnum, tden, temp, gcd;
        tnum=labs(chsl);//используем неотрицательные
        tden=labs(zn);//значения
        if(tden==0){cout<<"Недопустимый знаменатель!"; exit(1);}//проверка знаменателя на 0
        else if(tnum==0){chsl=0; zn=1; return;}//проверка числителя на 0
        //нахождение наибольшего общего делителя
        while(tnum!=0)
        {
            if(tnum<tden){temp=tnum; tnum=tden; tden=temp;}//если числитель больше знаменателя, меняем их местами
            tnum-=tden;//вычитание
        }
        gcd=tden;//делим числитель и знаменатель на
        chsl/=gcd;//полученый наибольший общий делитель
        zn/=gcd;
    }
как вывести
Цитата Сообщение от Никита-92 Посмотреть сообщение
Увидеть: 1,2,3,6.
сам додумаешся.

Добавлено через 23 минуты
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru