Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Nastya15684
0 / 0 / 0
Регистрация: 12.10.2015
Сообщений: 133
#1

В файле определить все правильные несократимые дроби, знаменатели которых меньше N - C++

29.11.2015, 12:12. Просмотров 251. Ответов 1
Метки нет (Все метки)

ПОЖАЛУЙСТА ПОМОГИТЕ! ОЧЕНЬ СРОЧНО, ЗАВТРА СДАВАТЬ НУЖНО!

В текстовом файле содержатся дроби, записанные в формате «Числитель / знаменатель». Пользователь с клавиатуры задает число N и имя текстового файла. Найти в этом файле все правильные несократимые дроби, знаменатели которых не более N, и вывести их на экран. Определить все возможные правильные несократимые дроби, знаменатели которых меньше N и не встречающихся в данном текстовом файле, и вывести их в текстовый файл, имя которого сформирован из имя первого файла добавлением текстового постфикса «_comp». Определить все функции, необходимые для оптимального функционирования программы (в том числе проверки, является дробь правильным и несократимой).

Осталось дописать только это: "Определить все возможные правильные несократимые дроби, знаменатели которых меньше N (это есть) и не встречающихся в данном текстовом файле, и вывести их в текстовый файл, имя которого сформирован из имя первого файла добавлением текстового постфикса «_comp»."

Файл: 1.txt
Его содержимое: 3/4 4/6 6/3 2/4 2/3 4/9 4/5 2/1 9/5 1/5

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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include <iostream>
#include <fstream>
using namespace std;
bool fun(char, char);
int nod(char, char);
int main()
{
    setlocale(LC_ALL, "rus");
    char filename[20];
    cout << "Введите имя файла: ";
    cin.getline(filename, 20);
    ifstream in(filename);
    if (!in)
    {
        cout << "Ошибка при открытии файла.\n";
        return 1;
    }
    char str[50];
    in.read((char*)str, sizeof str);
    in.close();
    char A[10]; char B[10];
    int j = 0, k = 0;
    for (int i = 0; i < sizeof(str); i++)
    {
        if (str[i + 1] == '/')
        {
            A[j] = str[i];
            j++;
        }
        else if (str[i - 1] == '/')
        {
            B[k] = str[i];
            k++;
        }
        else continue;
    }
    int N;
    cout << "Введите число: ";
    cin >> N;
    char n = N + '0';
    for (int i = 0; i < 10; i++)
    {
        if (B[i] < n && fun(A[i], B[i]) == 1)
            cout << A[i] << '/' << B[i] << ' ';
    }
    cout << endl;
    char A1[20], B1[20];
    for (char i = 2; i < N; i++)
    {
        for (char j = 1; j < 10; j++)
        {
            if (fun(j, i))
                cout << (int)j << '/' << (int)i << ' ';
        }
    }
    cout << endl;
    system("pause");
    return 0;
} 
bool fun(char a, char b)
{
    if (a < b && nod(a, b) == 1)
        return true;
    else return false;
}
int nod(char x, char y)
{
    if (y == 0)
        return x;
    return nod(y, x % y);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2015, 12:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В файле определить все правильные несократимые дроби, знаменатели которых меньше N (C++):

Нужно найти все правильные несократимые дроби, знаменатель которых меньше N. Правильность и несократимость про - C++
Подскажите в чем ошибка! Нужно найти все правильные несократимые дроби, знаменатель которых меньше N. Правильность и несократимость...

Напечатать все простые несократимые дроби, заключенные между 0 и 1, знаменатели которых не превышают 7 - C++
Пожалуйста помогите решить задачу. буду очень благодарна)) Напечатать в порядке возрастания все простые несократимые дроби, заключенные...

Найти все простые несократимые дроби, заключенные между 0 и 1, знаменатели которых не превышают 7 - C++
Помогите с программой. Она работает и работает почти правильно, но среди дробей есть 4/6 она сократима и как убрать беспонятия. Эта строчка...

Найти в файле правильные несократимые дроби - C++
Помогите!!! Вот мое ужасное задание: В текстовом файле содержатся дроби, записанные в формате «Числитель / знаменатель»....

Найти все дроби и их количество, знаменатель которых меньше заданного числа - C++
найти все положительные простые дроби и их количество, знаменатель которых меньше заданного натурального числа. Желательно задачу простым...

Найти все простые несократимые дроби - C++
найти все простые несократимые дроби, заключенные между 0 и 1, знаменатели которых не превышают 7 (дробь задается двумя натуральными...

1
Nastya15684
0 / 0 / 0
Регистрация: 12.10.2015
Сообщений: 133
29.11.2015, 19:49  [ТС] #2
Пожалуйста помогите!! Очень нужно!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2015, 19:49
Привет! Вот еще темы с ответами:

Из паскаля на с++. Вывести в порядке возрастания все простые несократимые дроби со знаменателем не большим m - C++
uses crt; const n=7; type frac=record p,q:1..n; end; function Nod(m,n:byte):byte;{функция определения наибольшекго...

Вывести все Простые дроби из интервала (0; 1), знаменатель которых не превышает n. - C++
1) Дан многоугольник, вершины которого заданы целочисленными координатами. Вывести на экран количество точек, которые имеют целочисленные...

Напечатать все значения n, при которых все числа последовательности будут не меньше а - C++
Рассмотрим последовательность чисел: 1, 1+1/2, 1+1/3 . . . . . 1+1/n Напечатать все значения n, при которых все числа последовательности...

Найти для числа правильные дроби с заданным знаменателем N и положителеным числителем - C++
Привет родные форумчане! Пожалуйста помогите решить буду особенно благодарен если напишите код с комментариями что как работает, заранее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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