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

Алгоритмы c++ - C++

Восстановить пароль Регистрация
 
волшебнег
0 / 0 / 0
Регистрация: 26.12.2012
Сообщений: 2
26.12.2012, 16:59     Алгоритмы c++ #1
Помогите пожалуйста решить эти задачки напишите код с коментариями или хотябы просто обьясните

Для матрицы расстояний получить оценка снизу и оценку нулей.
- 4 3 6 8
4 - 5 5 3
D = 3 5 - 10 10
6 5 10 - 5
8 3 10 5 -

Алгоритм Евклида. Два варианта. Примеры вычисления и фрагмент программы.

Эти задачки я решил но выводит ошибки в коде

Для заданной перестановки (3,2,1,4,5,6,7) найти ее порядковый номер в
перечислении всех перестановок в лексикографическом порядке.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>
using namespace std;
int n,k;
int a[100], b[100];
void fix()
{
int i;
for(i=1;i<=n;i++)
{if(a[i]==b[i]) k=i0;}
 
}
int main()
{
int i;
n=7;
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
for(i=1;i<=n;i++) cin>>b[i];
fix();
cout<<k;
}
По порядковому номеру k=1024 восстановить перестановку из n=7 элементов заданных в лексикографическом порядке.
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
51
52
53
54
55
56
57
58
59
60
61
62
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <fstream>
using namespace std;
ifstream in("input.txt");
ofstream out("output.txt");
int khar, count = 1;
char check(int*A, int n)
{
    int i, j;
    for ( i=0; i<n; i++ )
        for ( j=0; j<n; j++ )
        {
            if (( A[i] == A[j] ) && ( i != j ) && ( A[i] != 0 ) && ( A[j] != 0))return 0;
            if (( ( A[i] + i ) == ( A[j] + j ) ) && ( i != j )&&( A[i] != 0 ) && ( A[j] != 0 )) return 0;
            if (( ( A[i] - i ) == ( A[j] - j ) ) && ( i != j ) && ( A[i] != 0 ) && ( A[j] != 0 )) return 0;
        }
    return 1;
}
 
void print_queen( int*A, int n )
{
    int i,j;
    for(i=0;i<n;i++)
    {
      for(j=1;j<A[i];j++);
      if(count==khar)out<<j<<" ";
    }
    count++;
}
 
void build(int*A, int n)
{
    int * B;
    int i,k;
    for(k=0;(A[k]!=0)&&(k<n);k++);
    if(k>=n){print_queen(A,n); return;}
    B=(int*) malloc(n*sizeof(int));
 
    for(i=0;i<k;i++) B[i]=A[i];
        for(i=k;i<n;i++) B[i]=0;
            for(i=1;i<=n;i++)
                {
                    B[k]=i;
                    if(check(B,n)) build(B,n);
                }
    free(B);
}
 
int main()
{
    int i,n;
    int * A;
    in>>n;
    in>>khar;
    A=(int*) malloc(n*sizeof(int));
    for(i=0;i<n;i++) A[i]=0;
    build(A,n);
    free(A);
    return 0;
}
Схема Горнера для вычисления значения многочлена n-й степени. Примеры вычисления и фрагмент программы.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
double f(double x,int a[],int i,int max)
{
     if (i+1 < max)return f(x,a,i+1,max)*x+a[i];
     else return a[max]*x/+a[i];
}
int main()
{
int n, i;
int a[101];
double x;
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
cin>>n;
cin>>x;
for(i=1;i<=n;i++){
cin>>a[i];}
 
cout<<f(x,a,0,n-1);
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2012, 16:59     Алгоритмы c++
Посмотрите здесь:

C++ Циклические алгоритмы.
Алгоритмы сортировок C++
C++ Алгоритмы поиска
C++ Алгоритмы на C++
C++ Циклические алгоритмы
Алгоритмы сжатия C++
C++ Алгоритмы С++
Алгоритмы C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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