Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
11 / 12 / 8
Регистрация: 16.11.2016
Сообщений: 892
1

Как увеличить число проходов массива?

27.05.2020, 12:45. Показов 987. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В коде поменял переменную n (строка 11) с 10 до 20, по идеи должно увеличиться и число проходов, но почему-то это не произошло. Подскажите пожалуйста что почему этого не произошло?
Также не могли бы Вы помочь записать переменные Y[i] (в каждом шаге цикла for записывать, поочерёдно) в файл?

П.с. Это метод Хьюна для решения задач Коши, если кому-то нужно.
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
#include "pch.h"
#include <iostream>
#include <cmath>
using namespace std;
 
double F(double x, double y) {
    return 0.6 * sin(x) - 1.25*y*y + 1;
}
 
int main() {
    double a = 0; double b = 1; double p = 0.0041 ; double n = 20;
    double h = (b - a) / n;
    double *X = new double[n];
    double *Y1 = new double[n];
    double *Y = new double[n];
    X[0] = a; Y[0] = 0;
    for (int i = 1; i <= n; i++) {
        X[i] = a + i * h;
        Y1[i] = Y[i - 1] + h * F(X[i - 1], Y[i - 1]);
        Y[i] = Y[i - 1] + h * (F(X[i - 1], Y[i - 1]) + F(X[i], Y1[i])) / 2.0;
        cout << "Y[" << i << "]=" << Y[i] << endl;
    }
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.05.2020, 12:45
Ответы с готовыми решениями:

Увеличить число элементов массива. Описать размерность массива с помощью переменных.
Program Primer1; uses crt; var a: array of integer; i: integer; Begin clrscr; for i:=1 to...

Увеличить на 3 каждое число массива, вывести на экран новый массив, найти сумму отрицательных чисел массива
Дан двумерный массив с количеством n строк и столбцов. Данные для массива вводятся случайным...

Все элементы массива увеличить на число b
Задание: Массив предназначен для хранения значений веса двадцати человек. С помощью генератора...

Составьте программу, проверяющую, является ли число совершенным. Необходимо минимум проходов
Натуральное число называют совершенным, если оно равно сумме всех своих делителей, не считая его...

4
731 / 432 / 207
Регистрация: 19.12.2016
Сообщений: 1,700
27.05.2020, 13:00 2
Цитата Сообщение от triatri3 Посмотреть сообщение
double n = 20;
n сделай интом.
1
365 / 321 / 219
Регистрация: 21.02.2013
Сообщений: 756
27.05.2020, 13:02 3
поменяйте double n = 20; на int n = 20;
1
11 / 12 / 8
Регистрация: 16.11.2016
Сообщений: 892
27.05.2020, 13:03  [ТС] 4
Да, всё верно выводит теперь, спасибо большое. Помогите пожалуйста с записью массива Y[i] в файл
0
365 / 321 / 219
Регистрация: 21.02.2013
Сообщений: 756
27.05.2020, 13:07 5
Лучший ответ Сообщение было отмечено triatri3 как решение

Решение

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
#include <iostream>
#include <cmath>
#include <fstream>
using namespace std;
 
double F(double x, double y) {
    return 0.6 * sin(x) - 1.25*y*y + 1;
}
 
int main() {
 
    double a = 0; double b = 1; double p = 0.0041 ;
    int n = 20;
    double h = (b - a) / n;
    double *X = new double[n];
    double *Y1 = new double[n];
    double *Y = new double[n];
    ofstream oFile("output.txt");
    if(!oFile){
        cout << "file not open!!!";
        return 1;
    }
    X[0] = a; Y[0] = 0;
    for (int i = 1; i <= n; i++) {
        X[i] = a + i * h;
        Y1[i] = Y[i - 1] + h * F(X[i - 1], Y[i - 1]);
        Y[i] = Y[i - 1] + h * (F(X[i - 1], Y[i - 1]) + F(X[i], Y1[i])) / 2.0;
        cout << "Y[" << i << "]=" << Y[i] << endl;
        oFile << "Y[" << i << "]=" << Y[i] << endl;
    }
    return 0;
}
1
27.05.2020, 13:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.05.2020, 13:07
Помогаю со студенческими работами здесь

Увеличить значение элементов массива на заданное число
Такая задача: надо чтобы в массиве четные элементы не меньше 75 увеличивались на число, равное...

Увеличить значения элементов массива на заданное число
Помогите пожалуйста составить блок-схему и написать программу в QuickBASIC. Даны два массива по...

Увеличить все положительные элементы массива на заданное число
Увеличить все положительные элементы массива на заданное число vba. Помоги плиз)

Положительные элементы массива К[1..8] уменьшить на 5, а отрицательное увеличить на число 2
Создать программу. положительные элементы массива К уменьшить на 5, а отрицательное увеличить на...

Увеличить все положительные числа массива на заданное число
Условие: Увеличить все положительные числа массива на заданное число Sub Увеличение() Dim b Dim...

Элементы массива уменьшить на 20, умножить на последний элемент и увеличить на число В
Помогите решить задачу, пожалуйста. Сама задача: &quot;Дан массив. Все его элементы уменьшить на 20,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru