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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
sniperni
0 / 0 / 0
Регистрация: 28.11.2011
Сообщений: 46
#1

Вычислить значения элементов последовательности. - C++

23.12.2011, 13:56. Просмотров 531. Ответов 4
Метки нет (Все метки)

У меня вот такая замудрёная задача!!!!
7. Вычислить значения элементов последовательности
z/3, (z-1)/4, (z-2)/5, (z-3)/6, … . Отпечатать каждое третье значение.
Вычисления закончить, когда очередной элемент будет отличаться от предыдущего на величину, не превышающую заданную величину d.
Сначала написал по своему:
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
#include <iostream >
#include <conio.h>
#include <windows.h>
 
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int i, j, k = 1;
    double *rez, raz = 0, d, z;
 
    rez = new double[k];
 
    cout << "Введите значение переменной z:";
    cin >> z;
 
    cout << "Задайте значение величины d:";
    cin >> d;
 
    rez[k - 1] = 0;
 
    for (i = 3; raz <= d; i++) {
        j = i - 3;
        rez[k] = (z - j) / i;
        raz = rez[k] - rez[k - 1];
 
        if (raz < 0)
            raz = -raz;
 
        if (k == 1 || k % 3 == 0) {
            cout << (double)rez[k] << "\t" << k <<
                "-ый результат!\n";
            k++;
        } else
            k++;
    }
 
    delete[]rez;
    getch();
}
выдавала только одно значение или вообще ничего!!!! Препод подсказал, что надо вроде как использовать 3 переменные для результатов и выводить только третью.... я написал что-то вроде этого..... ничего не получается!!!!!! Может поможете, подскажите что не так??? Буду премного благодарен!!!! ПЛИЗ!!!

Вот текст проги:
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
#include <iostream>
#include <conio.h>
#include <windows.h>
 
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    int i, j, t;
    double rez1, rez2, rez3, raz = 0, d, z;
 
    cout << "Введите значение переменной z:";
    cin >> z;
    cout << "Задайте значение величины d:";
    cin >> d;
 
    raz = d + 1;
 
    for (i = 3; raz > d; i++) {
        j = i - 3;
        for (t = 0; t < 3; t++) {
            if (t = 0) {
                rez1 = (z - j) / i;
                raz = 0 - rez1;
                if (raz < 0)
                    raz = -raz;
                break;
            } else if (t = 1) {
                rez2 = (z - j) / i;
                raz = rez2 - rez1;
                if (raz < 0)
                    raz = -raz;
                break;
            } else {
                rez3 = (z - j) / i;
                raz = rez3 - rez2;
                if (raz < 0)
                    raz = -raz;
                cout << (double)rez3 << "\t" <<
                    "-ый результат!\n";
                break;
            }
        }
    }
 
    getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2011, 13:56     Вычислить значения элементов последовательности.
Посмотрите здесь:

Ограничить снизу значения тех элементов массива, значения которых меньше среднего для последовательности C++
C++ Вычислить значения элементов последовательности
C++ Заменить значения элементов последовательности с максимальным и минимальным значением на среднее
C++ Дано одномерный массив В, состоящий из 12 элементов. Вычислить произведение элементов массива, не равны нулю, значения которых наход. в пределах А и С
Вычислить сумму последовательности из N элементов C++
Вычислить значения суммы и произведения последовательности C++
Вычислить произведение элементов последовательности, кратных 3 C++
C++ Вычислить первые n элементов заданной последовательности
Подсчет произведения последовательности из n элементов и вычислить корень n-ой степени C++
Вычислить среднее арифметическое, сумму элементов и количество элементов заданной последовательности C++
C++ Подсчитать количество элементов последовательности, значения которых больше значения предыдущего элемента
C++ Вычислить первые n элементов заданной последовательности

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
23.12.2011, 14:15     Вычислить значения элементов последовательности. #2
Цитата Сообщение от sniperni Посмотреть сообщение
Вычислить значения элементов последовательности
z/3, (z-1)/4, (z-2)/5, (z-3)/6, … . Отпечатать каждое третье значение.
Вычисления закончить, когда очередной элемент будет отличаться от предыдущего на величину, не превышающую заданную величину d.
- это называется вычислить сумму ряда с точностью d
Вот Вам сходное задание Написать программу для нахождения значения функции с помощью ряда Тейлора
подправьте под ваши нужды
darkknight2008
62 / 62 / 6
Регистрация: 16.10.2011
Сообщений: 200
23.12.2011, 14:29     Вычислить значения элементов последовательности. #3
Ща проверю код....
Очень интересно, у тебя k = 1, ты заводишь массив на k элементов rez = new double[k]; А далее в программе ты увеличиваешь k yf 1. Т.е. потом обращаешься к элементу rez[1] потом rez[2], а у тебя массив всего лишь на 1!!!! элемент, ты не можешь записывать в массив на 1!!! элемент второй третий четвертый и т.д.

Добавлено через 6 минут
Либо заводи массив, размер которого будет с избытком, но это плохо. Либо вообще откажись от массива и каждый элемент последовательности сразу выводи на экран.
sniperni
0 / 0 / 0
Регистрация: 28.11.2011
Сообщений: 46
23.12.2011, 16:24  [ТС]     Вычислить значения элементов последовательности. #4
Про массив ищ одного элемента я заметил..... только вот задача и состоит в том,чтобы выводить каждый третий результат!!!
darkknight2008
62 / 62 / 6
Регистрация: 16.10.2011
Сообщений: 200
23.12.2011, 16:47     Вычислить значения элементов последовательности. #5
Цитата Сообщение от sniperni Посмотреть сообщение
Вычисления закончить, когда очередной элемент будет отличаться от предыдущего на величину, не превышающую заданную величину d.
Отличаться от предыдущего выведенного элемента, или предыдущего элемента последовательности?

Добавлено через 15 минут
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
#include <iostream>
#include <stdlib.h>
 
double abs( double x )
{
   return (x < 0 ? -x: x);
}
 
void main( void )
{
  int z;
  double d;
  cout << "Insert z: ";
  cin >> z;
  cout << "Insert d: ";
  cin >> d;
  // Предыдущий и третий элементы
  double prev = (z-1)/4, cur = (z - 2)/5;
  int i = 1;
  cout << "Result:";
  do
  {
    prev = (z - i) / (3 + i); // Предыдущий
    i++;
    cur = (z - i) / (3 + i) ; // Текущий
    i += 2;
 
    cout << " " << cur;
  }
  while (abs(cur - prev) > d)
  cout << "\n";
  system("pause");
}
Т.е. есть у нас:
a1 a2 a3 a4 a5 a6 a7 a8
Я значло счиатю a2, затем a3, вывожу a3, затем считается a5, затем a6, выводится a6 и т.д.
Yandex
Объявления
23.12.2011, 16:47     Вычислить значения элементов последовательности.
Ответ Создать тему
Опции темы

Текущее время: 19:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru