Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Программа не может открыть файл по полному пути https://www.cyberforum.ru/ cpp-beginners/ thread1158357.html
Есть проект в VS 2012, который работает с библиотекой OpenCV. В коде пишу полный путь к файлу. Все работает и файл открывается программой. Отключаю библиотеку(просто меняю название папки, в которой она находится) и добавляю нужные dll в папку с экзешником. Программа запускается, но файл она не открывает. Что не так?
C++ Сортировка двунаправленного списка
Помогите отсортировать составленный список по определенному полю, я пробовал методом пузырька, но не получается, просьба подсказать: void uploadFileRating(Film **first, Film **close){ Film *external = *first; //Внейшний на одно приращение Film *tmp; Film *interior; //Внутренний, который будет пробегать по всему списку while (external->next) { interior...
C++ Создать третий массив из элементов двух данных https://www.cyberforum.ru/ cpp-beginners/ thread1158309.html
Подскажите, пожалуйста, как сформировать массив С между А и В #include "stdafx.h" #include <stdlib.h> #include <stdio.h> void cm(int A, int a) { int i; for (i=0; i<a; i++) A=i+rand(); }
C++ Найти максимальное число, которое расположено ниже главной и ниже обратной диагонали https://www.cyberforum.ru/ cpp-beginners/ thread1158303.html
Дана квадратная матрица целых чисел размером N<=12. Заполнить матрицу случайными числами от 0 до 100. Найти максимальное число, которое расположено ниже главной и ниже обратной диагонали. Матрицу вывести красиво по строкам на экран. Результаты вычислений также вывести на экран.
C++ Перегрузка operator>>, классы Point, CIrcle, List
Добрый вечер! имеется класс Point (x, y), Сircle (r) и класс List c встроенным в него классов Node. требуется кроме прочего перегрузить оператор чтения из файла. перегружен был следующим ниже образом. но нужно сделать так чтобы x и y считались в Point, r в Circle, соответственно. а в List это все долно собираться в объект класса circle и соответственно добавляться в список. ума не приложу как...
C++ Сортировка массива https://www.cyberforum.ru/ cpp-beginners/ thread1158249.html
У меня есть цель наклепать сортировку с помощью (1)прямого выбора и и сортировку (2)Шелла. Делаю все пошагово, сначала алгоритм действий (1) чтобы было все ясно чего куда: для i от 1 до n-1 выполнять -> присвоить k наименьший из a,..,a -> поменять местами a и a, после перейти к шагу 1. Вот код задания массива: #include <iostream.h> #include <conio.h> #include <stdlib.h> int main () { ...
C++ Сортировка вставками https://www.cyberforum.ru/ cpp-beginners/ thread1158223.html
Необходимо отсортировать весь массив методом вставками парных чисел на возрастание const int N = 4; int mas; void fill(){ for(int i=0;i<N;i++){ for(int j=0;j<N;j++){ mas = rand()%100-50;
Вывести список студентов, которые не сдали третий экзамен C++ C++
Описать структуру данных STUDENT которая содержит следующую информацию: фамилия студента, группа, год рождения, результаты сдачи 5 экзаменов. Составить программу для создания массива из 5 элементов этой структуры и обработки соответствующих данных (поиск некоторой информации). 1. Вывести список студентов, которые не сдали третий экзамен
C++ Классы "Пара чисел" и "Прямоугольный треугольник" https://www.cyberforum.ru/ cpp-beginners/ thread1158211.html
Есть простая прога с наследованием класса: #include <iostream> using namespace std; class PAIR{ public: int a,b; public: PAIR(){}; ~PAIR (){};
C++ Запись последних восьми бит https://www.cyberforum.ru/ cpp-beginners/ thread1158205.html
Добрый вечер! Подскажите, пожалуйста, как правильно записать 8-мь последних бит переменной типа int в переменную массива QByteArray, которая занимает 1 байт. Что-то никакой простой алгоритм в голову не приходит, кроме как проверять значения каждого бита переменной побитовым умножением и уже непосредственно записывать 1 или 0 в однобайтовую переменную. Но этот подход очень долгий.
C++ Построить описание класса
Всем доброго времени суток! Нужна помощь, переделать программу, необходимо сделать ручной ввод(меню). Задание звучит так: "Построить описание класса обеспечивающего представление матрицы произвольного размера с возможностью изменения числа строк и столбцов, вывода на экран подматрицы любого размера и всей матрицы. Написать программу, демонстрирующую работу с этим классом. Программа должна...
C++ Класс С++ для работы с треугольником Добрый вечер! В С++ раньше не работал, однако сейчас передо мной стоит задача следующего содержания: "Разработать класс на языке С++ реализующий методы для работы с треугольником: построение треугольника, вычисление периметра, площади, длин сторон" Помогите пожалуйста с решением. Заранее спасибо! https://www.cyberforum.ru/ cpp-beginners/ thread1158188.html
0 / 0 / 0
Регистрация: 11.04.2014
Сообщений: 6
0

Программа интерполяции измерений методом Ньютона - C++ - Ответ 6092543

26.04.2014, 21:22. Показов 483. Ответов 0
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
доброго времени суток.. помогите пожалуйста написал курсач , а он слишком велик оказался помогите подкорректировать и убрать что не нужно или там заменить.) код прилагается)

1 часть программы

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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
#include<iostream>
#include<fstream>
#include<conio.h>
#include<stdlib.h>
using namespace std;
long double zniach(int i,int j);
long double fstr(char*);
void vvod(void);
void matrix(void);
long double X[500];
long double Y[500];
long double C[500];
int nekd;
int N;
long double mass[500][500];
int main()
{
vvod();
if (nekd==1) return 0;
 
matrix();
if (nekd==1) return 0;
 
system("grafics.exe");
return 0;
}
 
void vvod(void)
{
char varvv=0;
while((varvv!='1')&&(varvv!='2'))
    {
    cout << "Kak vvesti dannye?\n1. S klaviatury\n2. Iz faila?\n";
    cin >> varvv;
    if ((varvv!='1')&&(varvv!='2')) cout <<"Vy doljny vvesty 1 ili 2!\n";
    }
char stroka[50];
if (varvv=='1')
    {
    cout <<"Vvedite chislo tochek.\n";
    cin >>stroka;
    N=(int)fstr(stroka);
    if (nekd==1) return;
    for(int i=0;i<N;i++)
        {
        cout<<"Vvedite X["<<i<<"]="; 
        cin>>stroka;
        X[i]=fstr(stroka);
        if (nekd==1) return;
        cout<<endl;
        cout<<"Vvedite Y["<<i<<"]="; 
        cin>>stroka;
        cout<<endl;
        Y[i]=fstr(stroka);
        if (nekd==1) return;
        }
    }
if (varvv=='2')
    {
    char filename[255];
    while (1) //Ввод имени и проверка файла
        {
        cout << "Vvedite imja faila. Fail ne doljen soderjat' bolee 255 simvolov, probelov i tol'ko latinskie bukvy.\n";
        for (int i=0;i<255;i++) filename[i]=0;
        cin >> filename;
        ifstream fin(filename); //проверка файла
        char q=0;
        fin >> q;
        fin.close();
        if (q==0)
            {
            cout << "\nFail  \"" << filename << "\"  Pustoj ili ne sushestvuet. Dlia prodoljenija najmite enter.\n";
            getch();
            }
        else 
            {
            break;
            }
        }
    ifstream fin(filename);
    fin>>stroka;
    N=(int)fstr(stroka);
    if (nekd==1) return;
    for(int i=0;i<N;i++)
        {
        fin>>stroka;
        X[i]=fstr(stroka);
        if (nekd==1) return;
        fin>>stroka;
        Y[i]=fstr(stroka);
        if (nekd==1) return;
        }
    fin.close();
    }
ofstream fout("data.txt");
for(int i=0;i<N;i++)
    fout<<X[i]<<"  "<<Y[i]<<endl;
fout.close();
}
 
void matrix(void)
{
for(int i=0;i<N;i++)
    mass[i][0]=1; 
for(int i=1;i<N;i++)
for(int j=1;j<i+1;j++)   
    mass[i][j]=zniach(i,j);
 
for(int i=0;i<N;i++)     
    {
    cout<<endl;
    for(int j=0;j<N;j++)
    cout <<mass[i][j]<<"  ";
    }
cout <<endl;
ofstream fout("out.txt");
fout<<N<<endl;
for(int i=0;i<N;i++)
    {
    if (mass[i][i]==0)
        {
        nekd=1;
        cout<<"Programma ne smojet poschitat' funkciju. Vozmojno vvedionnye dannye nekorrektny.\n";
        getch();
        return;
        }
    C[i]=Y[i]/mass[i][i];
    cout<<"\n"<<"C["<<i<<"]="<<C[i]<<endl;
    for(int j=i+1;j<N;j++)
        {
        mass[j][i]*=C[i];
        Y[j]-=mass[j][i];
        }
    fout<<C[i]<<endl;
    }
fout.close();
getch();
}
long double zniach(int i,int j)
   {    
    long double ZN=1;
    for(int q=0;q<j;q++)
    ZN*=X[i]-X[q];
    return ZN;
    }
 
long double fstr(char stroka[50])
{
nekd=0;
if (strlen(stroka)>20)
    {
    nekd=1;
    cout<<"Dannye nekorrektny.\n";
    getch();
    return 0;
    }
for (unsigned int i=0;i<strlen(stroka);i++)
    {
    if (((stroka[i]>='0')&&(stroka[i]<='9'))||(stroka[i]=='.')||(stroka[i]=='-')||(stroka[i]=='+'))
        {
        if ((stroka[i]=='-')||(stroka[i]=='+'))
            if (i!=0)
                {
                cout << "Dannye nekorrektny.\n";
                nekd=1;
                getch();
                return 0;
                }
        if (stroka[i]=='.')
            for (unsigned int q=0; q<i; q++)
                if (stroka[q]=='.')
                    {
                    cout << "Dannye nekorrektny.\n"; 
                    nekd=1;
                    getch();
                    return 0;
                    }
        }
    else 
        {
        nekd=1;
        cout<<"Dannye nekorrektny.\n";
        getch();
        return 0;
        }
    }
return atof(stroka); //преобразуем строку в число
}

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
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#include<iostream.h>
#include<fstream.h>
#include<conio.h>
#include<graphics.h>
#include<math.h>
 
int gdriver = DETECT;
 
long double f(long double);
void vvod(void);
void massh(void);
void grafics(void);
 
long double C[500];
long double minim_x,maxim_x;
long double maxim_y, minim_y;
long double shagx, shagy;
long double X[500], Y[500];
int N=0;
 
int main()
{
clrscr();
initgraph(&gdriver, 0 , "");
 
vvod();
 
massh();
 
grafics();
 
getch();
return 0;
}
 
//Полином
long double f(long double x)
{
long double s=C[0];
for (int i=1;i<N;i++)
    {
    long double P=1;
    for (int q=0;q<i;q++)
        P*=x-X[q];
    s+=C[i]*P;
    }
return s;
}
 
void vvod(void)
{
//Ввод коеффициентов из файла
ifstream vvod("out.txt");
vvod >> N;
for (int i=0;i<N;i++)
    {
    vvod >> C[i];
    }
vvod.close();
 
//Ввод исходных данных из файла
 
ifstream data("data.txt");
for (i=0;i<N;i++)
    {
    data >> X[i] >> Y[i];
    }
data.close();
}
 
void massh(void)
{
//Поиск maxim_x и minim_x
minim_x=X[0];
maxim_x=X[0];
for (int i=0;i<N;i++)
    {
    if (X[i]<minim_x) minim_x=X[i];
    if (X[i]>maxim_x) maxim_x=X[i];
    }
 
//Вычисление шага x, шага y, maxy, miny
shagx=(maxim_x-minim_x)/620;
if (shagx==0) {cout << "Dannye nekorrektny"; getch();}
maxim_y=f(maxim_x);
minim_y=f(minim_x);
for(long double k=minim_x; k<=maxim_x; k+=shagx)
    {
    if(maxim_y<=f(k)) maxim_y=f(k);
    if(minim_y>=f(k)) minim_y=f(k);
    }
shagy=(maxim_y-minim_y)/460;
}
 
void grafics(void)
{
bar(0,0,getmaxim_x(),getmaxy());
//Рисование точек
for(int q=0;q<N;q++)
    {
    setcolor(2);
    circle(5+(int)((X[q]-minim_x)/shagx), 5+460-(int)((Y[q]-minim_y)/shagy),1);
    setfillstyle(1, 2);
    floodfill(5+(int)((X[q]-minim_x)/shagx), 5+460-(int)((Y[q]-minim_y)/shagy), 2);
    }
setcolor(4);
//Рисование функции
for (long double d=minim_x; d<=maxim_x; d+=shagx)
    line(5+(int)((d-minim_x)/shagx),5+460-(int)( (f(d)-minim_y)/shagy ),5+(int)((d-shagx-minim_x)/shagx),5+460-(int)( (f(d-shagx)-minim_y)/shagy ));
}
спасибо зарание добрые люди)

Вернуться к обсуждению:
Программа интерполяции измерений методом Ньютона C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.04.2014, 21:22
Готовые ответы и решения:

Найти номер элемента методом интерполяции
в первой части ошибок нет,показывает ошибку во второй части,где требуется найти номер элемента...

Решить уравнение по заданной формуле методом хорд и модифицированным методом Ньютона
8. Решить уравнение 5sinx - x = 0 на отрезке с точностью E методом хорд и модифицированным...

Найти корень уравнения методом хорд и модифицированным методом Ньютона
Требуется решить уравнение 5sinx – x = 0 на отрезке с точностью E методом хорд и...

Как задать криволинейный замкнутый контур по точкам методом кубической интерполяции?
В с++ я новичок, полазив по форумам, я нашел некотрые коды, но они либо не работают, либо выдают не...

0
26.04.2014, 21:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.04.2014, 21:22
Помогаю со студенческими работами здесь

Разработать алгоритм интерполяции значений функции методом Лагранжа. В качестве тестового примера использовать функцию Рунге
Народ срочно нужна помощь в написании программы. Тема : Разработать алгоритм интерполяции значений...

Уравнение методом Ньютона
Доброго времени суток, помогите пожалуйста, справиться с уравнением, которое нужно реализовать...

Интерполяция методом Ньютона
Помогите ребята

Решение СНАУ методом Ньютона
РЕбят, такое дело, есть у меня задание, решение СНАУ методом Ньютона. Даже не знаю с чего начать,...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru