Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2010, 15:48   #1
Kerragin
Пользователь
 
Регистрация: 09.12.2010
Сообщений: 34
По умолчанию

Найти наименьший номер члена последовательности, для которого выполняется условие |an-an-1|< ε. Вывести на экран этот номер и все элементы ai , где i=1,2,3…,n.

an=1/2*tg an-1,a=0,5

Как решить даное в visual studio c++ ?

Последний раз редактировалось Stilet; 15.12.2010 в 20:14.
Kerragin вне форума Ответить с цитированием
Старый 15.12.2010, 16:19   #2
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Наработки/деньги? С последним вариантом можно сразу ко мне в аську (в профиле).
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 15.12.2010, 18:13   #3
Kerragin
Пользователь
 
Регистрация: 09.12.2010
Сообщений: 34
По умолчанию

есть одна наработка)

Код:
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <cmath>
using namespace std; 
void randomFill(double *x, int n);
void printSequence(double *x, int n);
 
int main(){
    int n;
    double eps;
    
    srand(time(0));    
    cout << "Please, enter the size of sequence. n = ";
    cin >> n;
    
    // проверяем на правильность ввода размера    if (n <=0)
    {
        cerr << "Incorrect value for 'n'. Must be above 0." << endl;
        return -1;
    }    
    cout << "Please, enter the Epsilon. eps = ";
    cin >> eps;
    
    // проверяем на правильность ввода эпсилон    if (n <=0)
    {
        cerr << "Incorrect value for 'eps'. Must be above 0." << endl;
        return -2;
    }    
    // создаем последотваельность из n элементов
    double *a = new double[n];
    
    // заполняем случайными числами    randomFill(a, n);
    
    // выводим последовательность на экран
    printSequence(a, n);
        // ищем | an - an-1 | < eps
    for (int i=1; i<n; i++)
    {
        if ( fabs(a[i] - a[i-1]) < eps )
        {            // если нумерация идет с 1 до n, тогда стоит н
            // написать i+1
            cout << "Element number : " << i << endl;
            break;
        }    }
    
    cin.get();
    return 0;
} 
// заполняем случайными числами
void randomFill(double *x, int n)
{
    for (int i=0; i<n; i++)        x[i] = rand()%100/(double)500;
}
 
// выводим на экран
void printSequence(double *x, int n){
    for (int i=0; i<n; i++)
        cout << x[i] << " ";
    cout << endl;
}
помогите кто нибудь,я не имею представления как делать! =/

Последний раз редактировалось Stilet; 15.12.2010 в 20:15.
Kerragin вне форума Ответить с цитированием
Старый 15.12.2010, 20:01   #4
Za_Stalina
Новичок
Джуниор
 
Регистрация: 15.12.2010
Сообщений: 11
По умолчанию

Математика, 5-8 класс (причем очень нудная которую нужно долго считатаь). Если есть в коде проблемы валяй в личку напишу считать лень

Последний раз редактировалось Za_Stalina; 15.12.2010 в 20:13.
Za_Stalina вне форума Ответить с цитированием
Старый 15.12.2010, 20:26   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А если я предложу такой вариант?
Код:
#include "stdafx.h"
#include <math.h>
#include <stdlib.h>

int _tmain(int argc, _TCHAR* argv[])
{
	float an=5,a0=0,e=0.01,min=1/2*tan(an-1);
	for(int n=1;abs(an-a0)>e;){
		a0=an;
		an=0.5*tan((double)(an-1));
		printf("%2.3f\t",an);
		min=(min>an)?an:min;
	};printf("\n%2.8f\t",min);
	system("pause");
	return 0;
}
Ато меня вариант автора несказанно пугает..
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.12.2010, 20:59   #6
Kerragin
Пользователь
 
Регистрация: 09.12.2010
Сообщений: 34
По умолчанию

Stilet

что-то не работает =/

Za_Stalina

что-то немогу тебе в личку отправить

Последний раз редактировалось Stilet; 15.12.2010 в 21:06.
Kerragin вне форума Ответить с цитированием
Старый 15.12.2010, 21:07   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
что-то не работает =/
Ну я проверял на VS2010 Beta... Может у тебя другой компилятор?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.12.2010, 21:44   #8
Kerragin
Пользователь
 
Регистрация: 09.12.2010
Сообщений: 34
По умолчанию

тоже 2010,не находит функции,вт попробовал сделать,но тоже пишет ошибку

#include <iostream>
#include <cmath>
using namespace std;
void search(double eps);

int main()

{
int i = 0;
double last = 0.5, next = 0.5;

while (fabs(next - last) < eps)
{
cout << "a: " << last << " i: " << i << endl;

last = next;
next = 1 / (2 * tan(last));
}

return 0;
}
Kerragin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
найти наименьший номер элемента последовательности, для которого выполняется условие newgener Помощь студентам 3 24.05.2010 18:44
найти наименьший элемент и его номер в заданной таблице tim777777 Помощь студентам 1 02.03.2009 15:12
Найти первый из номеров K, для которых выполняется условие |AK AK–1| < D Jereme Паскаль, Turbo Pascal, PascalABC.NET 2 21.12.2008 12:54
. Среди всех нецелых элементов этого массива найти наименьший и определить его номер в массиве Паскалька^^ Паскаль, Turbo Pascal, PascalABC.NET 3 19.12.2008 14:18