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

Вывести: знак, целую часть, сокращенные числитель и знаменатель - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Класс fstream http://www.cyberforum.ru/cpp-beginners/thread371804.html
Дан файл, содержащий несколько строк. В новый файл переписать строки данного, вставляя символ ‘!’ после каждой строки, содержащей не более n символов. Если строка заканчивается знаком препинания заменить его на символ ‘!’.
C++ Определить условия попадания в круговой сектор Здравствуйте. Вот какое задание: "Определить условия попадания в круговой сектор " Вот рисунок http://www.cyberforum.ru/cpp-beginners/thread371782.html
Задача C++
Ребят, помогите нубу студенту решить задачи. Завтра здавать, а препод ничерта не объяснил как и что. Не удаляйте тему за 3 задачи сразу... Lin19. Дано целое четырехзначное число. Используя операции div и mod, найти сумму его цифр. Log19. Даны координаты (как целые от 1 до 8) двух различных полей шахматной доски. Если слон за один ход может перейти с одного поля на другое, вывести логическое...
Списки С++ C++
Помогите,пожалуйста......в списке продублировать все отрицательные элементы(одна функция) и удалить из списка все чётные элементы(другая функция).......... Я начала,получилось только создать и просмотреть список........а вот с вставкой и удалением проблемы....... #include"stdafx.h" #include <iostream> #include <cmath> using namespace std;
C++ Одномерный массив. Работа с элементами этого массива. http://www.cyberforum.ru/cpp-beginners/thread371768.html
Задание прилагается во вложенном файле.
C++ Вопрос по Классам... #include <iostream> using std::cout; using std::endl; class GradeBook { public: void displayMessage() подробнее

Показать сообщение отдельно
Riderik
 Аватар для Riderik
28 / 28 / 1
Регистрация: 24.07.2011
Сообщений: 171
24.10.2011, 22:40     Вывести: знак, целую часть, сокращенные числитель и знаменатель
Сильно упрощенный вариант именно для Си:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include <stdio.h>
#include <conio.h>
#include <math.h>
 
int main()
{
    int chisl, znam;
    char znak;
 
    printf("Chislitel: "); 
    scanf("%d",&chisl);
    printf("Znamenatel: ");
    scanf("%d",&znam);
 
    if (!znam)   //проверка занаменателя
        printf("\nZnamenatel ne mojet bit' 0!");
    else
    {
        if((chisl<0)==(znam<0))  //определение знака
            znak='+';
        else
            znak='-';
 
 
        chisl=fabs((double)chisl);  //берем модули дроби для дальнейших вычислений
        znam=fabs((double)znam);   // 
 
        int nod,a=chisl,b=znam;
        while(b>0&&a>0) // для сокращения дроби находим НОД
        {
            int tmp=a;
            a=b;
            b=tmp%b;
        }
        nod=a;
 
        if(nod>1) //Если НОД>1, значит есть на что сокращать
        {
            chisl/=nod;
            znam/=nod;
        }
 
        int celChast=0;
        while(chisl>=znam)// переводим неправильную дробь в правильную
        {
            celChast++;
            chisl-=znam;
        }
 
        printf("\nZnak: %c\nCelaya chast: %d\nDrob': %d/%d",znak,celChast,chisl,znam);
    }
    getch();
    return 0;
    
}
Добавлено через 19 минут
не без ошибок? Тут всего пару строк правильные. И те не то делают, что надо.

Цитата Сообщение от Revol'veR Посмотреть сообщение
Знаю что не без ошибок. Пусть меня поправят знающие.
И вообще оно на С++ написано
 
Текущее время: 23:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru