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

Получения треугольника Паскаля до n-й строки включительно - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 88, средняя оценка - 4.92
Apmyp /7
3 / 3 / 0
Регистрация: 14.10.2009
Сообщений: 76
09.11.2009, 17:16     Получения треугольника Паскаля до n-й строки включительно #1
Написать программу для получения треугольника Паскаля до n-той строчки включая!
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
помогите резить задачу самыми простыми способами, без сложных операторов и библиотек.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2009, 17:16     Получения треугольника Паскаля до n-й строки включительно
Посмотрите здесь:

C++ Вывести первые а строк треугольника Паскаля
Получение первых n строк треугольника Паскаля C++
Составить программу которая переворачивает каждое слово строки (перевод с Паскаля) C++
C++ Какой код треугольника Паскаля через цыкл, который выводит определенное количество строк?
матрица разделена диагоналями на 4 треугольника, элементы верхнего и нижнего треугольника нулевые C++
Определить номер строки и столбца наименьшего из элементов верхнего треугольника. C++
Вывести n-ную строку треугольника паскаля C++
C++ Найти количество нечетных чисел в n-ой строке треугольника Паскаля
C++ Получения из строки числа
Удаление строки до последнего пробела (включительно) C++
Переписать с Паскаля на C++. Найти максимальный элемент каждой строки массива и его индексы C++
Макрос для получения текста текущей строки C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Apmyp /7
3 / 3 / 0
Регистрация: 14.10.2009
Сообщений: 76
10.11.2009, 20:02  [ТС]     Получения треугольника Паскаля до n-й строки включительно #2
эхххх, так и никто и не решил, обидно.
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
10.11.2009, 20:26     Получения треугольника Паскаля до n-й строки включительно #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Apmyp /7,
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
 #define N 1000
 long c[N];
 int main () {
    long n, i, j;
    scanf ("%ld",&n);
    for(i = 1; i <= n ; i++) c[i] =0;
    c[0] = 1;
    for(j = 1 ; j <= n; j++)
       for(i = j; i >= 1 ; i--)
          c[i] = c[i-1] + c[i];
    for(i = 0; i <= n ; i++)
       printf ("%ld ", c[i]);
    return 0;
 }
manfeese
 Аватар для manfeese
128 / 127 / 16
Регистрация: 04.01.2009
Сообщений: 415
10.11.2009, 20:57     Получения треугольника Паскаля до n-й строки включительно #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вот еще вариант, используя формулу из комбинаторики, нахождения сочетаний из N по K. Если перечислять все сочетания К из N результат N-ой строки как раз выходит таким каким требуется!
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 <iostream.h>
 
using namespace std;
                    
double Cnk(int N,int K)
{
return ( (N<K) ? 0 : ((K==0) ? 1 : ((N-K+1) / double(K) * Cnk(N,K-1))) );
}
                  
int main()
{
    int n;
    cin>>n;
 
for (int j = 0; j <= n; j++) {
  for (int i=0; i <=j ; i++)
   cout<<Cnk(j,i)<<" ";
  cout<<"\n";
}
    std::cin.get();
    std::cin.get();
 
    return 0;
}
Если тяжело осмыслить рекурсивную функцию Cnk, то можно использовать не рекурсивную:

C++
1
2
3
4
5
6
7
double Cnk(int N,int K)
{
  double Sum = 1;
  for (int i = 1; i <= K; i++)
    Sum*=(N-i+1)/float(i);
  return Sum;
}
Apmyp /7
3 / 3 / 0
Регистрация: 14.10.2009
Сообщений: 76
11.11.2009, 19:57  [ТС]     Получения треугольника Паскаля до n-й строки включительно #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <conio.h>
#include <iostream.h>
 void main ()
 {  int A[100];
    int n, i, j;
    cout<<"Vvesti koli4estvo elementov: ";cin>>n;
    for(i = 1; i <= n ; i++) A[i] =0;
    A[0] = 1;
    for(j = 1 ; j <= n; j++)
    for(i = j; i >= 1 ; i--)
    A[i] = A[i-1] + A[i];
    for(i = 0; i <= n ; i++)
       cout<<"  "<<A[i];
    getch();
 }
как сделать что бы результат выводился бы вот так вот:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
Yandex
Объявления
11.11.2009, 19:57     Получения треугольника Паскаля до n-й строки включительно
Ответ Создать тему

Метки
треугольник паскаля c++, треугольник паскаля
Опции темы

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