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

Маленькая доработка программы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Поиск самого длинного слова в файле http://www.cyberforum.ru/cpp-beginners/thread1022413.html
Создать файл file.txt с помощью текстового редактора, длина которого не превышает 70 символов. Написать программу, которая: 1) выводит текст на экран дисплея 2) находит самое длинное слово в тексте( и вывести на экран) #include "stdafx.h" #include <iostream> #include "stdio.h" #include <ctype.h> #include <conio.h> #include <string.h> using namespace std;
C++ Напишите конструктор для инициализации объекта класса Time, который может использовать текущее время, возвращаемое функцией time (). Помогите пожалуйста написать программу на С++. Просто скоро курсовую сдавать, а классы мы еще не разобрали и не успеваем. Поэтому не знаю как писать(((. Вот: Напишите конструктор, который может использовать текущее время, возвращаемое функцией time () — объявленной в заголовочном файле time.h стандартной библиотеки языка С, — для инициализации объекта класса Time. Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread1022411.html
Нахождение локальных максимумов и циклический сдвиг двумерного массива C++
помогите с задачами по двумерным массивам, заранее спасибо. 1) Вычислить число локальных максимумов в прямоугольном массиве NxM. 2) произвести циклический сдвиг элементов двумерного массива по диагонали влево вверх. Требуется ваша помощь, заранее спасибо)
C++ Удалить с текста все слова, начинающееся с букв, заданных в строчке запроса
Помогите, пожалуйста, решить задачку: "Удалить с текста все слова, начинающееся с букв, заданных в строчке запроса".
C++ Сети Петри http://www.cyberforum.ru/cpp-beginners/thread1022381.html
Суть такая - нужно сварганить простейший редактор сетей Петри. Понятно что нужны два класса - для позиций (position) и переходов (transition). Соответственно позиции могут содержать (только данные, методов пока не касаемся) -идентификатор (имя, номер, в общем, что-то для обращения) -множество входов -множество выходов -количество фишек переходы
C++ Скремблер Нужно написать простую программу имитирующая работу скремблера на С++. подробнее

Показать сообщение отдельно
nullpointer
 Аватар для nullpointer
45 / 45 / 5
Регистрация: 30.03.2009
Сообщений: 518
28.11.2013, 23:20     Маленькая доработка программы
Давно писал нахождение интегралов разными способами. В программе присутствую методы левых (правых не писал потому что поменять пару знаков только надо), центральных прямоугольников, метод Симпсона, трапеций.
Функция правда задается в самой программе, а не вводится пользователем.
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
// kvadr_formuly.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <iostream>
 
#define pogr 2
 
using namespace std;
 
float function(float x){
    return sin(x);
}
 
float left_pr(float left_gr, float right_gr, int n){
    float delta_x = 0.0;    
    float left_integral = 0.0;
    float ksi = 0.0;
    
    delta_x = (right_gr - left_gr) / n;
    ksi = left_gr;
 
    for (int k = 1; k <= n; ++k){
        left_integral += function(ksi) * delta_x;
        ksi += delta_x;
    }
 
    return left_integral;
}
 
float center_pr(float left_gr, float right_gr, int n){
    float delta_x = 0.0;    
    float center_integral = 0.0;
    float ksi = 0.0;
        
    delta_x = (right_gr - left_gr) / n;
    ksi = left_gr + 0.5 * delta_x;
    for (int k = 1; k <= n; ++k){
        
        center_integral += function(ksi) * delta_x;
        ksi += delta_x;
    }
 
    return center_integral;
}
 
float trapecii(float left_gr, float right_gr, int n){
    float ksi = 0.0;
    float delta_x = 0.0;
 
    float trapecii_integral = (function(left_gr) + function(right_gr)) / 2.0;   
    ksi = left_gr;
    delta_x = (right_gr - left_gr) / n;
 
    for (int k = 1; k < n; ++k){
        ksi += delta_x;
        trapecii_integral += function(ksi);
    }
 
 
    return trapecii_integral * delta_x;
}
 
float simpson(float left_gr, float right_gr, int n){
    float ksi = 0.0;
    float delta_x = 0.0;
    float simpson_integral = 0.0;
    int m = 2 * n;
 
    delta_x = (right_gr - left_gr) / m;
    simpson_integral = function(left_gr) + function(right_gr);
    ksi = left_gr;
 
    for (int i = 1; i < m; ++i){
        ksi += delta_x;
        if ((i % 2) == 0){
            simpson_integral += 2 * function(ksi);
        }
        else{
            simpson_integral += 4 * function(ksi);
        }
    }
 
    return simpson_integral * delta_x / 3;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale (LC_ALL, "Russian");
    int n;
    float left_gr, right_gr;
    float left_int, center_int;
    float trapecii_int;
    float simpson_int;
    float pogr_l = 0.0, pogr_c = 0.0, pogr_t = 0.0, pogr_s = 0.0;
 
    cout << "Введите число интервалов: ";
    cin >> n;
    cout << endl;
 
    cout << "Введите границы: ";
    cin >> left_gr >> right_gr;
    cout << endl;
    
    left_int = left_pr(left_gr, right_gr, n);
    center_int = center_pr(left_gr, right_gr, n);
    trapecii_int = trapecii(left_gr, right_gr, n);
    simpson_int = simpson(left_gr, right_gr, n);
    pogr_l = abs(left_int - pogr);
    pogr_c = abs(center_int - pogr);
    pogr_t = abs(trapecii_int - pogr);
    pogr_s = abs(simpson_int - pogr);
 
    printf("Левые прямоугольники: %2.5f", left_int);
    printf("\nПогрешность левые прямоугольники: %2.5f", pogr_l);
    printf("\n\nЦентральные прямоугольники: %2.5f", center_int);
    printf("\nПогрешность центральные прямоугольники: %2.5f", pogr_c);
    printf("\n\nТрапеции: %2.5f", trapecii_int);
    printf("\nПорешность трапеции: %2.5f", pogr_t);
    printf("\n\nСимпсон: %2.5f", simpson_int);  
    printf("\nПогрешность Cимпсон: %2.5f", pogr_s);
    cout << endl << endl;
 
    system("pause");
    return 0;
}
 
Текущее время: 19:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru