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

Болты и гайки. - C++

Восстановить пароль Регистрация
 
Temirlan90
 Аватар для Temirlan90
131 / 131 / 8
Регистрация: 30.09.2010
Сообщений: 333
15.04.2011, 18:22     Болты и гайки. #1
Болты и гайки
(Время: 1 сек. Память: 16 Мб Сложность: 17%)

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

Помогите оценить нанесённый ущерб на каждом складе, приняв во внимание, что, помимо потерянных деталей, болт (или гайка) считается непригодным, если он не имеет соответствующей гайки (или болта).
Входные данные

Во входном файле INPUT.TXT описано текущее положение на складе. В первой строке через пробел записаны три целых числа: k1, l1, m1 – начальное число болтов (100<=k1<=30000, k1 кратно 100), процент потерянных деталей (0<=l1<=100) и стоимость одного болта (1<=m1<=100) соответственно. Во второй строке через пробел записаны также три целых числа: k2, l2, m2 – начальное число гаек (100<=k2<=30000, k2 кратно 100), процент потерянных деталей (0<=l2<=100) и стоимость одной гайки (1<=m2<=100) соответственно.
Выходные данные

В выходной OUTPUT.TXT выведите одно целое число – размер ущерба.
Примеры
1) INPUT.TXT
1000 10 100
1200 20 90
1) OUTPUT.TXT
37000

2) INPUT.TXT
5000 15 23
4000 17 22
2) OUTPUT.TXT
53600
У Меня программа с 6 - тестом пролетает.
Дайте контр аргумент моей программе
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
#include <iostream>
using namespace std;
int main() {
    //freopen("INPUT.TXT", "r", stdin);
    //freopen("OUTPUT.TXT", "w", stdout);
    int kolvob, procb, cenab, cenaBrakb, raznicab, 
        kolvog, procg, cenag, cenaBrakg, raznicag,
        total;
    cin >> kolvob >> procb >> cenab >> kolvog >> procg >> cenag;
    cenaBrakb = kolvob / 100 * procb * cenab;
    cenaBrakg = kolvog / 100 * procg * cenag;       
    if(kolvob < kolvog) {
        raznicab = kolvob / 100 * procb;
        raznicag = kolvog / 100 * procg;
        total = ((kolvog - raznicag) - (kolvob - raznicab)) * cenag 
            + (cenaBrakb + cenaBrakg);
    }
    if(kolvob > kolvog) {
        raznicab = kolvob / 100 * procb;
        raznicag = kolvog / 100 * procg;
        total = ((kolvob - raznicab) - (kolvog - raznicag)) * cenab 
            + (cenaBrakb + cenaBrakg);
    }
    if(kolvob == kolvog) 
        total = cenaBrakb + cenaBrakg;
    cout << total;
    system("pause >> void");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2011, 18:22     Болты и гайки.
Посмотрите здесь:

Определить напряжения среза и смятия в резьбе болта и гайки
Определить силу, действующую на болты крышки бака, заполненного жидкостью.
Определить расчетные напряжения среза и смятия для резьбы болта и гайки
Болты для крепления ssd SSD
Расчитать момент трения на торце гайки для первой и десятой ее затяжки Pascal

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
16.04.2011, 04:43     Болты и гайки. #2
Temirlan90, Ваша ошибка кроется здесь:
Цитата Сообщение от Temirlan90 Посмотреть сообщение
if(kolvob < kolvog) {
raznicab = kolvob / 100 * procb;
raznicag = kolvog / 100 * procg;
total = ((kolvog - raznicag) - (kolvob - raznicab)) * cenag
+ (cenaBrakb + cenaBrakg);
}
if(kolvob > kolvog) {
raznicab = kolvob / 100 * procb;
raznicag = kolvog / 100 * procg;
total = ((kolvob - raznicab) - (kolvog - raznicag)) * cenab
+ (cenaBrakb + cenaBrakg);
}
Вы почему-то решили, что если болтов было изначально больше гаек, то их и после потери останется больше. Но может же быть и подругому.
Попробуйте такой вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
int main() {
        //freopen("INPUT.TXT", "r", stdin);
        //freopen("OUTPUT.TXT", "w", stdout);
        int kolvob, procb, cenab, kolvog, procg, cenag, ostb, ostg, total;
        cin >> kolvob >> procb >> cenab >> kolvog >> procg >> cenag;
        ostb=kolvob-kolvob/100*procb;
        ostg=kolvog-kolvog/100*procg;
        if(ostb<ostg)
        {
            total=(kolvob-ostb)*cenab+(kolvog-ostb)*cenag;
        }
        else
        {
            total=(kolvob-ostg)*cenab+(kolvog-ostg)*cenag;
        }
        cout << total;
    system("pause >> void");
        return 0;
}
Yandex
Объявления
16.04.2011, 04:43     Болты и гайки.
Ответ Создать тему
Опции темы

Текущее время: 02:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru