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

Функция с++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Необработанное исключение http://www.cyberforum.ru/cpp-beginners/thread885326.html
Вот пытаюсь спровоцировать исключение, все работает только оно вылетает не там где я ожидаю. По идее когда список пуст имеет пуститься исключения throw out_of_range("List is empty!");, но неожиданно оно выскакивает вот здесь p1->next = NULL; Почему именно там? Что там не так? void pop_back() { node *p, *p1; p = last; p1 = last->prev; if(empty()) throw out_of_range("List is...
C++ Форматированное чтение из файла в массив структур Здравствуйте, посоветуйте как лучше сделать чтение из файла в массив структур с разными типами данных. Входной файл (все денные введены через знак табуляции): toyota 130 250 1500 sedan 2200 1800 audi 220 250 1500 hetch 2000 2500 bmv m3 250 320 1700 sedan 2800 3200 ferrari 450 375 1200 coupe 3500 8500 Каждую строчку надо внести в массив структур: struct car { char name;//имя http://www.cyberforum.ru/cpp-beginners/thread885325.html
C++ алгоритм
подскажите что делает этот алгоритм, и что с ним делать? %-) http://pixs.ru/showimage/algoritmJP_7940233_8092649.jpg
Найти сумму тех из элементов a2j(j=1,...,m), для которых a1j имеет значение наибольшего среди значений a11, a12,...,a1m C++
нужно решение на с++ Даны натуральное число n, целочисленная матрица i=1,2; j=1,...,m. Найти сумму тех из элементов a2j(j=1,...,m), для которых a1j имеет значение наибольшего среди значений a11, a12,...,a1m.
C++ Даны действительные числа a, b. Получить u http://www.cyberforum.ru/cpp-beginners/thread885314.html
нужен код с++ для этой задачи. помогите кто может Даны действительные числа a, b. Получить u = min(a,b),υ = min(ab,a + b), min(u +υ 2 , 3.14)
C++ Таблица футбольного чемпионата задана квадратной матрицей. Определить номера команд, прошедших чемпионат без поражений помогите пожалуйста написать код в с++ 1. Таблица футбольного чемпионата задана квадратной матрицей порядка n, в которой все элементы, принадлежащие главной диагонали, равны нулю, а каждый элемент, не принадлежащий главной диагонали, равен 2, 1 или 0 (числу очков, набранных в игре: 2 — выигрыш, 1 — ничья, 0 — проигрыш). а) Найти число команд, имеющих больше побед, чем поражений. б)... подробнее

Показать сообщение отдельно
PavelM
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 15
30.05.2013, 18:46     Функция с++
Доброго времени суток!
Столкнулся с проблемой в задании условия в функции.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
double f(int i, int j, int k) 
{   
    if ( (X[i][j][k] - Lx/2)*(X[i][j][k] - Lx/2) + 
             (Y[i][j][k] - Ly/2)*(Y[i][j][k] - Ly/2) + 
             (Z[i][j][k] - Lz/2)*(Z[i][j][k] - Lz/2) ) < (Lx*Lx/16) return 1;
    else return 2;
}
 
double W(int i, int j, int k)
{ 
    double W; alfa = 1, beta = 1;
    ddksi = (f(i+1,j,k) - f(i-1,j,k))/(2*dksi);
    ddeta = (f(i,j+1,k) - f(i,j-1,k))/(2*deta);
    ddzet = (f(i,j,k+1) - f(i,j,k-1))/(2*dzet);
    W = sqrt(1 + alfa*(ddksi*ddksi + ddeta*ddeta + ddzet*ddzet) + beta*f(i,j,k)*f(i,j,k));
    return W;
}
int _tmain(int argc, _TCHAR* argv[]) {
.... //много ненужного
....
Вообщем, значения массивов в функции f (3 строчка) у меня нулевые. Эти массивы у меня описаны в основном теле программы (16 строчка). Там же и используется эта функция наряду с функцией W.

Почему они нулевые, если функция должна брать значения из основного тела ?
P.S. Знаю обходной путь, но он уж слишком громоздкий. Так что нужно разобраться именно в этом случае.

Добавлено через 17 минут
Не 16, а 18 строчка *
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru