Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 1
Регистрация: 03.11.2015
Сообщений: 23
1

Рельсы (варианты для построения)

20.11.2015, 21:05. Показов 1545. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задаем длины рельс, и расстояние а программа выводит варианты для построния.

Длины:
10 13
Длина:
749
= 10 * 32 + 13 * 33
= 10 * 19 + 13 * 43
= 10 * 6 + 13 * 53
= 10 * 71 + 13 * 3
= 10 * 58 + 13 * 13
= 10 * 45 + 13 * 23
Колтчество вариантов: 6

Необходим совет!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.11.2015, 21:05
Ответы с готовыми решениями:

Вывести варианты построения рельс
Задаем длины рельс, и расстояние а программа выводит варианты для построния. если ввводим...

Ищу варианты с выбором метода построения
Если у кого мысли как проще сделать 3д модель такой детали ?

Программа выводящая разные варианты построения строки
Хочу попробовать написать программу, в которой вводишь какие-либо символы, а эти символы...

Сервер - Java, Клиент - VB6 - основные варианты построения системы
Подскажите, пожалуйста, какие могут быть наиболее реальные варианты построения клиент-серверной...

10
69 / 69 / 55
Регистрация: 17.11.2015
Сообщений: 151
20.11.2015, 21:39 2
почему рельсы разные?
0
0 / 0 / 1
Регистрация: 03.11.2015
Сообщений: 23
22.11.2015, 01:56  [ТС] 3
некондиция
0
0 / 0 / 1
Регистрация: 03.11.2015
Сообщений: 23
22.11.2015, 01:58  [ТС] 4
Появилась подсказка ребят:
Рельсы (варианты для построения)

Тут всего 3 строчки кода, одна из которых return 0;
Или же как ты хочешь, уже 5 строчек.
0
0 / 0 / 1
Регистрация: 03.11.2015
Сообщений: 23
22.11.2015, 13:22  [ТС] 5
Еще подсказка:
Необходимо решить уравнение a*x+b*y=c.
Дано: a, b, с - целые неотрицательные
Найти: все пары (x, y) и их количество. x, y - целые неотрицательные

Переберите все целые числа x в цикле от 1 до (c-b)/a.
Для каждого такого целого x проверьте, что y=(c-a*x)/b - целое.
Если целое, то выведите его и добавьте к счетчику решений 1.
Потом (после перебора всех x) выведите счетчик решений.

Добавлено через 28 минут
И еще помощь от эксперта:
Для каждого такого целого x проверьте, что y=(c-a*x)/b - целое. " - мда, по мне это запутывает - намекает, что надо делить.

int a,b, l; cin >> a >> b >> l;
int maxX = l/a;
for ( int x = 0 ; x <= maxX ; x++ ) // перебираем a
if ( ( l - x*a ) % b == 0 ) {
// нашли, анализируйте; плюсуйте счетчик, делите, выводите...
}
0
69 / 69 / 55
Регистрация: 17.11.2015
Сообщений: 151
22.11.2015, 20:29 6
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
 
int main()
{
    int a, b, l; 
    scanf("%d %d %d", &a, &b, &l);
    int maxX = l / a;
    printf("%d =\n", l);
    for (int x = 0, y = 0; x <= maxX; x++) 
        if ((l - x*a) % b == 0)
        {
            y = (l - x*a) / b;
            printf("= %d*%d + %d*%d\n", a, x, b, y);
        }
    return 0;
}
1
0 / 0 / 1
Регистрация: 03.11.2015
Сообщений: 23
22.11.2015, 21:00  [ТС] 7
Спасибо, а что посоветуете по поводу счетчика, как определить количество вариантов? И программа не считает так:

10 13 749
= 10 * 32 + 13 * 33
= 10 * 19 + 13 * 43
= 10 * 6 + 13 * 53
= 10 * 71 + 13 * 3
= 10 * 58 + 13 * 13
= 10 * 45 + 13 * 23

Добавлено через 8 минут
Программа выводит:
10 13 749
749 =
0
69 / 69 / 55
Регистрация: 17.11.2015
Сообщений: 151
22.11.2015, 21:07 8
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
 
int main()
{
    int a, b, l, i = 0;
    if (scanf("%d %d %d", &a, &b, &l) != 3)
    {
        printf("Invalid argument\n");
        getchar;
        return 0;
    }
    int maxX = l / a;
    for (int x = 0, y = 0; x <= maxX; x++)
        if ((l - x*a) % b == 0)
        {
            y = (l - x*a) / b;
            printf("= %d*%d + %d*%d\n", a, x, b, y);
            i++;
        }
    printf("Koli4ectvo = %d\n",i);
    return 0;
}
Добавлено через 17 секунд
числа вводить в одну строку через пробел
1
0 / 0 / 1
Регистрация: 03.11.2015
Сообщений: 23
22.11.2015, 21:55  [ТС] 9
Здорово, работает! Последняя просьба, как сделать так что бы при вводе длины + 749 выводилось так же, а при вводе -749, выводилось только количество способов?

Длина:
10 13
Расстояние:
+ 749
= 10 * 32 + 13 * 33
= 10 * 19 + 13 * 43
= 10 * 6 + 13 * 53
= 10 * 71 + 13 * 3
= 10 * 58 + 13 * 13
= 10 * 45 + 13 * 23
Варианты: 6
---------------
Длина:
10 13
Расстояние:
- 749
Варианты: 6

Добавлено через 12 минут
Между + и 749 должен стоять пробел
0
69 / 69 / 55
Регистрация: 17.11.2015
Сообщений: 151
22.11.2015, 22:10 10
Лучший ответ Сообщение было отмечено HarleyDavids0n как решение

Решение

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
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
 
int main()
{
    int a, b, l, i = 0;
    unsigned char c;
    if ((   scanf("%d %d %c %d", &a, &b, &c, &l)!=4) || ((c != '+') && (c != '-')))
    {
        printf("Invalid argument\n");
        getchar();
        return 0;
    }
 
    int maxX = l / a;
    for (int x = 0, y = 0; x <= maxX; x++)
        if ((l - x*a) % b == 0)
        {
            if (c == '+')
            {
                y = (l - x*a) / b;
                printf("= %d*%d + %d*%d\n", a, x, b, y);
            }
                i++;
        }
    printf("Koli4ectvo = %d\n", i);
    return 0;
}
1
0 / 0 / 1
Регистрация: 03.11.2015
Сообщений: 23
23.11.2015, 01:54  [ТС] 11
Спасибо! Переписал код под себя, но при вводе расстояния, пишет неверный ввод что не так в строке 16?
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
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
 
int main()
{
    int a, b, l, i = 0;
    unsigned char c;
    printf("длина:\n");
    if (scanf("%d %d", &a, &b) != 2|| (a<=0) || (b<=0) || (a==b))
    {
        printf("невер ввод.\n");
        getchar;
        return 0;
    }
     printf("Расстояние:\n");
    if (((scanf("%c %d",&c, &l) != 2) || (l<=0))  || ((c != '+') && (c != '-'))) {printf("Неверн ввод.\n");getchar;return 0;}else{
            int maxX = l / a,x,y;
    for (x = 0, y = 0; x <= maxX; x++)
        if ((l - x*a) % b == 0)
        {
            if (c == '+')
            {
                y = (l - x*a) / b;
                printf("= %d*%d + %d*%d\n", a, x, b, y);
            }
                i++;
        }
    printf("Koli4ectvo = %d\n", i);
    return 0;
    }}
Добавлено через 3 часа 2 минуты
Спасибо, все решил, тема закрыта:
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
#include<stdio.h>
 
int main()
{
    long long int a, b, l, i = 0;
    unsigned char c;
    printf("Длина:\n");
    if (scanf("%lli %lli", &a, &b) != 2|| (a<=0) || (b<=0) || (a==b))
    {
        printf("Неверный ввод\n");
                return 0;
    }
     printf("Расстояние:\n");
    if (((scanf(" %c %lli",&c, &l) != 2) || (l<0))  || ((c != '+') && (c != '-'))) {printf("Неверный ввод.\n");return 0;}else{
           
        int maxX = l / a,x,y;
       
        
        
        
    for (x = 0, y = 0; x <= maxX; x++)
        if ((l - x*a) % b == 0)
        
    
        {
            if (c == '+')
            {
                y = (l - x*a) / b;
                printf("= %lli * %lli + %lli * %lli\n", a, x, b, y);
            }
        
                i++;
        
        }
        
       
    if (i==0) printf("Решений нет.\n");
    else
    printf("Вариантов %lli\n", i);
    return 0;
        }}
0
23.11.2015, 01:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.11.2015, 01:54
Помогаю со студенческими работами здесь

программа для схематичного построения робота(механизма) различной сложности (Элементы для построения желательно поместить в БД).
доброго времени суток. незнаю куда лучше определить тему, поэтому создал ее тут. препод...

Удобны ли рельсы на linux?
думаю, не стоит объяснять, что на языке удобно программировать в родной для него среде (не могу...

Как обновить руби и рельсы?
имею несколько инструкций - очень запутанно, без 100 грамм трудно разобраться а пьянствовать...

Админка под четвертые рельсы
кто-нибудь знает уже готовую админку под четвертые рельсы? ActiveAdmin пользует ActionPack, поэтому...

Даны три слова - "мама", "мыла", "раму". Задача - напечатать всевозможные варианты построения слов
Я записал код, однако эту часть надо автоматизировать, поможете? КОД: } #include &lt;iostream&gt;...

Чему равна сила Кориолиса, создающая боковое давление на рельсы
Железнодорожный состав массы M=211 тонн движется в северном полушарии Земли вдоль меридиана со...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru