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

Функция вычисления сопротивления ( С++) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Пример из книги "Как программировать на С++" http://www.cyberforum.ru/cpp-beginners/thread423369.html
Доброго времени суток форумчане! Читал книгу и наткнулся на такой пример: #include <iostream> #include <iomanip> using namespace std; void bubble(int *, const int, int(*)(int, int)); int...
C++ Объясните как Блок схему составить для цикла for ipMatr(); for(opMatr(),k=0;k<=n;k++) //прямой ход метода Гаусса; {for(aa=fabs(a),i=k,j=k+1;j<=n;j++)//поиск макс. ел-та; if(fabs(a)>aa){i=j;aa=fabs(a);}; if(aa<0) ... http://www.cyberforum.ru/cpp-beginners/thread423368.html
Проектирование интерфейса: передача результата по цепочке C++
// Main.h class Main () { public : Main() {} ~Main() {} vector<int> set(vector<int> &vec); vector<int> get() { //
Немного теории C++
Доброго дня, форумчане! Пишу курсач на тему Системы программирования. Препод сказал, что у меня нет информации о видах систем программирования. Гугл по такому запросу ничего подходящего не выдает....
C++ Как правильно выделить память под структуру? http://www.cyberforum.ru/cpp-beginners/thread423328.html
имеются структуры struct ship { struct point first; struct point last; }; struct point { int x;
C++ Недоработанное программа // 11.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <stdio.h> #include <ctype.h> int digitssum(const char * s) { return ( *s ) ? ( isdigit(*s) )... подробнее

Показать сообщение отдельно
Юля_Гу
0 / 0 / 0
Регистрация: 06.01.2012
Сообщений: 6

Функция вычисления сопротивления ( С++) - C++

06.01.2012, 15:00. Просмотров 1242. Ответов 4
Метки (Все метки)

Добрый день! Работа на тему "Расчет сопротивления резисторов электрической цепи".
для последовательных резисторов: R=R1+R2+Rn;
для параллельно соединенных проводников: 1/R=1/R1+1/R2+1/Rn.
По сути, задача 6 класса, НО в самой функции сложения сопротивления, иногда вылетает ошибка:
"Необработанное исключение типа "System.Runtime.InteropServices.SEH Exception" произошло в Курсовая Юля.exe

Дополнительные сведения: Внешний компонент создал исключение."
Она вылетает, только если создаешь цепь и резисторы в ней соединяешь параллельно, затем последовательно и снова параллельно. или просто используешь 2 раза подряд параллельное соединение. указывает на строку: r=new float[n];
в остальных случаях все ок!
в чем может быть ошибка? Почему ему не нравитсЯ такое выделение памяти?

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
private: System::Void Calc(float *a){
     R=0; //переменная результата вычисления сопротивления
    float Rn=0; //Переменная-накопитель промежуточных результатов 
     int i1=0,kol1=0,i2=0;
     n=0; //Переменная количества разветвлений на участке цепи
     for(int i=0;i<kol;i++)
     if(a[i]>0)R+=a[i];  //к подсчитанному сопротивленю добавляем положительные элементы массива
    else{ //если элемент отрицательный начинается обработка элементов, описывающих параллельное соединение
 
     for(i1=i+1;a[i1]>-20;i1++) //(a[i+1];a[i]=-20) – диапазон элементов параллельного соединения
    if(a[i1]==-1){n++;kol1++;} //a[i1]=-1 –переход на следующ. лиию
     else kol1++;
 
            float *r;
     kol1++;
     n++;
     r=new float[n]; //создаем массив, каждый элемент которого – сумма сопротивлений одной линии
     for(i1=0;i1<n;i1++)r[i1]=0;
     for(i1=i+1;a[i1]>-20;i1++) //цикл подсчета значений элементов массива *r
     { 
    if(a[i1]!=-1)
    r[i2]+=a[i1];
    else i2++;
     }
     for(i2=0;i2<n;i2++)Rn+=1/r[i2]; //промежуточный подсчет
     R+=1/Rn; //прибавление к ранее подсчитанному сопротивлению величины сопротивления участка параллельного соединения
     i+=kol1; //в дальнейшем просмотре результирующего массива пропускаем элементы, сопротивление которых только что посчитано
     n=0;
     kol1=0;
     i1=0;
     i2=0;
     Rn=0;
 
    delete r;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru