Форум программистов, компьютерный форум 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 ascending(const int, const int); int descending(const int, const 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) {printf("Система не имеет единственного решения!!!"); getch(); } 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) ) ? *s - '0' + digitssum(s+1) : digitssum(s+1) : 0;} подробнее

Показать сообщение отдельно
Nicky
3 / 3 / 0
Регистрация: 21.12.2011
Сообщений: 10
09.01.2012, 00:38
Нет, все понятно.
Но вернусь к Вам, к сожалению, уже завтра.

Добавлено через 20 часов 1 минуту
Здравствуйте, Юля.

Априорных идей не возникло, поэтому я оформил данный Вами кусок как программу (смотрите ниже) и запустил в Visual C++ 2010 Express (и, на всякий случай, в Dev-C++). Пришлось сделать предположене о значении kol, которое Вы используете. Я использовал kol = размер_массива - 1.

Ни в одной из этих IDE ошибки времени исполнения не возникает.

(Ответ для первого случая входных данных совпадает с правильным, для второго - нет (1.51351; при kol = размер_массива получается 9.51351)).

Одно замечание по управлению памятью: поскольку r - указатель на массив, освобождайте память под ним командой delete[] r. Хотя никто не заругался и на Вашу delete r.

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
#include<iostream>
 
int main() {
//       int a[] = {1, 1, -2, 1, -1, 1, -20};
//       int kol = 7-1;
 
       int a[] = {1, -2, 1, -1, 1 -20, 1, -2, 1, -1, 1, -20};
       int kol = 12-1;
 
       float R=0; //...
       float Rn=0; //... 
       int i1=0, kol1=0, i2=0;
       int 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++)  { //...
                                   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;
                }
 
       std::cout << "R = " << R << '\n';
 
       system("pause");       return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru