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

как написать этот алгоритм? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Прокомментировать код http://www.cyberforum.ru/cpp-beginners/thread441536.html
Всем привет! Недавно нашел в интернете код функции для разбиения числа на слагаемые. Код был без комментариев, поэтому я так и не понял сам алгоритм. Прокомментируйте кто-нить (и желательно обьясните суть алгоритма): #define MIN(x, y) ((x) < (y) ? (x) : (y)) long a; void Partition(long n, long high, long pos) {
C++ Сформировать из столбцов матрицы В, не содержащих равных элементов, матрицу С Напишите, помогите... Разобраться толком не могу Сформировать из столбцов матрицы В, не содержащих равных элементов, матрицу С размером m*k, где k<=n - кол-во таких столбцо. В матрице С вычислить сумму элементов строк, номера которых определяются номерами ненулевых элементов заданного вектора Добавлено через 26 минут http://www.cyberforum.ru/pascalabc/thread263683.html здесь написана... http://www.cyberforum.ru/cpp-beginners/thread441533.html
C++ Реверс массива
Задание такое: Нужно сделать массив из 30 чисел, чтобы он отображался на экране наоборот и по 3 числа в столбик, при этом поменять столбики между собой я так понял вид должен быть: 26 25 24 29 28 27 20 19 18 23 22 21 14 13 12 17 16 15 8 7 6 11 10 9
C++ Методы статиеские и обычные
Во многих языках одни и те же действия реализуются как методами, работающими на уровне классов (статические методы), так и методами на уровне экземпляров (обычные методы). Правильно ли считать, что статический метод , как правило более эффективен своего нестатиеского аналога?
C++ невычисляет дробовое число http://www.cyberforum.ru/cpp-beginners/thread441517.html
хочу написать программу для вычисления суммы ряда 1-1/3+1/5-1/7+1/9... вроде как написал программу, но чото компилятор матюкается немогу понять почему #include "stdafx.h" using namespace std; long double i, x, sum; int main() { cout<<"ryad\n"; cout<<"posl\n";
C++ Cколько будет палиндромов в промежутке от 1...9000 при возведении в квадрат? вопрос на логику: сколько будет палиндромов в промежутке от 1...9000 при возведении в квадрат? Тоесть берем для начала 1. Возводим в квадрат 1*1=1. Вывод - палиндром. Дальше берем 2 и так к 9000. Добавлено через 11 минут к 100 точно 6 Добавлено через 17 часов 43 минуты ответ: 19 подробнее

Показать сообщение отдельно
andreev
 Аватар для andreev
0 / 0 / 0
Регистрация: 06.02.2012
Сообщений: 43
07.02.2012, 05:47  [ТС]     как написать этот алгоритм?
вот ниже код если кому нужно

Добавлено через 55 секунд
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
#include <stdio.h>
#include <math.h>
void main()
{
    const int MAX=101;
    const int n=100;
    double h=1./n;
    double x=1.5;
    double M_PI=3.1415926;
    double alfa[MAX],beta[MAX],y[MAX],A[MAX],B[MAX],C[MAX],F[MAX];
     C[0]=1; B[0]=0; F[0]=0;
     C[n]=1; F[n]=0; A[n]=0;
    for(int i=1;i<=n-1;i++)
    {   x=i*h; 
        A[i]=1./(h*h);
        B[i]=A[i];
        C[i]=2./(h*h);
        F[i]=4.*M_PI*M_PI*sin(2.*M_PI*x);
    }
    alfa[1]=B[0]/C[0];
    beta[1]=F[0]/C[0];
//  printf("alfa[%i]=%0.4lf | beta[%i]=%0.4lf\n",1,alfa[1],1,beta[1]);
    for(int j=1;j<=n-1;j++)
  
    {
        alfa[j+1]=B[j]/(C[j]-alfa[j]*A[j]);
        beta[j+1]=(F[j]+A[j]*beta[j])/(C[j]-alfa[j]*A[j]);
//      printf("alfa[%i]=%0.4lf | beta[%i]=%0.4lf\n",j+1,alfa[j+1],j+1,beta[j+1]);
    }
    y[n]=(F[n]+A[n]*alfa[n])/(C[n]-alfa[n]*A[n]);
//    printf("y[%i]=%0.4lf\n",n-1,y[n-1]);
    for(int k=n-1; k>=0;k--)
    
    {
     y[k]=alfa[k+1]*y[k+1]+beta[k+1];
     printf("%8.4lf",y[k]);
    }
 printf("\n");
    for(int k=n-1;k>=0;k--) printf("%8.4lf",sin(2*M_PI*k*h));
 
}
Добавлено через 6 минут
можно оказца задать и по больше тогда точнее будет результат
 
Текущее время: 21:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru