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

Непонятные ошибки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вектора в C++ http://www.cyberforum.ru/cpp-beginners/thread997491.html
Приветствую. Никак не могу разобраться с векторами в C++. Можно коротко осветить как ими пользоваться.
C++ найти среднее арифметическое и вывести элемент массива, сильнее всего отклоняющийся от ср. арифметического дан линейный массив. найти среднее арифметическое и вывести элемент массива, сильнее всего отклоняющийся от ср. арифметического пример: дано : 2 ,3 ,1 , 8 вывод: 8 http://www.cyberforum.ru/cpp-beginners/thread997479.html
Как написать чтобы программа считала и то и то ?! C++
Программа находит минимальный элемент массива и считает сумму элементов массива до минимального элемента,а как сделать чтобы если в массиве есть два три или более минимальных элементов,чтобы сумму считало после каждого минимального элемента. #include <iostream.h> #include <conio.h> #include <math.h> void main() { int a, n, i,z,S,min; cout << " Input N (<=20) "; cin >> n;
Не могу найти ошибку C++
Здравствуйте,не могу понять в чем ошибка подскажите пожалуйста #include "stdafx.h" #include <time.h> #include <cstdlib> #include <iostream> #include <iomanip> // Ðàçìåðíîñòü ìàòðèöû #define N 5
C++ Как обращаться к строке и столбцу матрицы с помощью указателя? http://www.cyberforum.ru/cpp-beginners/thread997453.html
Такое дело. Пытаюсь разобраться с указателями уже недели две и не понимаю, как пользоваться ими при работе с массивами, особенно многомерными. Не понимаю именно синтаксис. Объясните, пожалуйста, как обращаться к строке, столбцу с помощью указателя, и нужен ли тогда цикл for, а также как пробегать двумерный массив? Учебниках дана только базовая информация, да и примеров немного.
C++ Динамическое выделение памяти new Доброго времени всем :) Недавно начал вникать в прелести c++, однако встретился с неприступной холодностью его и непониманием моих желаний, а так же отсутствием эмпатии и телепатических способностей, что и привело меня на этот форум. http://cs419530.vk.me/v419530398/9dfe/r2pcPSY2Sog.jpg Задания 5,6 и 7 я выполнил. Проблемы возникли с 8 и 9. В 8 не даёт ввести название компании. код:... подробнее

Показать сообщение отдельно
Hoottie_McGOOB
107 / 105 / 5
Регистрация: 04.10.2013
Сообщений: 231
04.11.2013, 16:39     Непонятные ошибки
считает что-то странное, но считает..
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <math.h>
#include <malloc.h>
 
double absolute(double);
double interpolate(int,int);
double _x(int);
double DeltaX, X0, X, Pprev, E;
double *y, Result;
 
int main()
{
    setlocale(LC_ALL, "rus");
    printf("Программа интерполяции по схеме Эйткена с заданной"); printf("точностью E.");
    printf("\nИнтерполируемая функция: cos(x). Введите шаг: ");
    scanf("%lf", &DeltaX);
    printf("Введите начальное значение Х0: ");
    scanf("%lf", &X0);
    printf("Введите количество узлов интерполяции N: ");
    int N; scanf("%d", &N);
 
    y = (double*)malloc(N*sizeof(double));
    int i;
    for (i=0; i<N; i++) y[i] = (double)cos(X0+i*DeltaX);
    printf("Таблица значений заполнена.\n");
 
    //while(1)
    //{
        printf("Введите итерполируемый Х: ");
        scanf("%lf", &X);
        printf("Введите точность Е: ");
        scanf("%lf", &E);
        double Delta=DeltaX, DeltaPrev=DeltaX;
 
        for(i=0; i<(N-1); i++)
        {
            Result=interpolate(0, (i+1));
            if (i!=0) Delta=absolute(Pprev-Result);
            if (((Delta>=DeltaPrev)||(DeltaPrev<=E))&&(i>1))
            {
                printf("(!) Выход по условию. Хорошо."); 
                break;
            }
            DeltaPrev=Delta;
            Pprev=Result;
        }
        printf("\nРезультат: %lf, n=%d\n\n", Result, i);
    //}
 
    free(y);
    return 0;
}
 
double absolute(double Value)
{
    if (Value < 0) Value*=-1;
    return Value;
}
 
double _x(int N)
{
    return(X0+N*DeltaX);
}
 
double interpolate(int i, int k)
{
    double P1, P2, P;
    if(i==k) return y[i];
    else
    {
        P1=interpolate((i+1), k);
        if (i==0) P2=Pprev;
        else P2=interpolate(i, (k-1));
 
        P=(P1*(X - _x(i))) - (P2*(X - _x(k)));
        P/=(_x(k) - _x(i));
    }
 
    return P;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru