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

Нахождение сопротивления - C++

Восстановить пароль Регистрация
 
Jox25
1 / 1 / 0
Регистрация: 07.10.2012
Сообщений: 107
14.12.2013, 19:25     Нахождение сопротивления #1
Программа должна находить сопротивление n-резисторов в 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
#include <iostream.h>
#include <conio.h>
#define size 10
main()
{
        int R[size], q, n;
        float res=0;
        cout << "Type amount of resistors: ";
        cin >> n;
        cout << endl << "Choose your type of circuit: " << endl << "1. Serial" << endl << "2. Parallel" << endl;
        cin >> q;
                if( q == 1 ){
                        for( int i=0; i<n; i++ ){
                                cout << endl << "R"<< i+1 <<": ";
                                cin >> R[i];
                                res += R[i];
                        }
                }
                else if( q == 2 ){
                        for( int i=0; i<n; i++ ){
                                cout << endl << "R"<< i+1 <<": ";
                                cin >> R[i];
                                res += 1/R[i];
                        }
                }
        cout << endl << "Resistance: " << res;
        getch();
}
Добавлено через 12 минут
upp
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mytilus
82 / 82 / 8
Регистрация: 04.10.2012
Сообщений: 329
14.12.2013, 19:29     Нахождение сопротивления #2
C++
1
res += 1/R[i];
Когда целочисленная единица делится на целочисленное R[i], результат тоже будет целым числом.
Решается так:
C++
1
res += 1.0/R[i];
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
14.12.2013, 19:31     Нахождение сопротивления #3
Цитата Сообщение от Jox25 Посмотреть сообщение
C++
1
2
3
4
                     res += 1/R[i];
                       }
               }
        cout << endl << "Resistance: " << res;
C++
1
2
3
4
                                res += 1.0f/R[i];
                        }
                }
        cout << endl << "Resistance: " << 1.0f/res;
Brain_Dead
 Аватар для Brain_Dead
9 / 8 / 2
Регистрация: 25.09.2013
Сообщений: 34
14.12.2013, 19:35     Нахождение сопротивления #4
Вместо int R[size] поставь float R[size].
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
14.12.2013, 19:38     Нахождение сопротивления #5
Цитата Сообщение от Brain_Dead Посмотреть сообщение
Вместо int R[size] поставь float R[size].
не надо
Yandex
Объявления
14.12.2013, 19:38     Нахождение сопротивления
Ответ Создать тему
Опции темы

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