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

Объясните как работают данные исходники - C++

Восстановить пароль Регистрация
 
Новенький
44 / 9 / 2
Регистрация: 03.03.2009
Сообщений: 254
23.09.2010, 16:06     Объясните как работают данные исходники #1
плиииз объясните мне работы исходников
1
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
#include <stdio.h>
int x[200000];
int y[200000];
int main() {
    int n, i, j, u, v, count;
    scanf("%i", &n);
    for (i=0; i<n; i++) {
        scanf("%i%i", &u, &v);
        if (u < v) {
            x[i]=u-1;
            y[i]=v-1;
        } else {
            x[i]=v-1;
            y[i]=v-1;
        }
    }
    count=0;
    for (i=0; i<n; i++) {
        for (j=i+1; j<n; j++) {
            if (((x[i]<x[j])&&(x[j]<y[i]))!=((x[i]<y[j])&&(y[j]<y[i]))) {
                count++;
            }
        }
    }
    printf("%i\n", count);
    return 0;
}
2
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
#include<iostream>
#include<stdio.h>
using namespace std;
int min(int x, int y)
{
    if(x<y) return x;
    return y;
}
main(){
    int n,m,a[20][20],i,k;
    scanf("%i%i",&n,&m);
    for(i=0; i<n; i++)
    {
        for(k=0; k<m; k++)
        {
                scanf("%i",&a[i][k]);
        }
    }
    for(i=1; i<n; i++) a[i][0]+=a[i-1][0];
    for(k=1; k<m; k++) a[0][k]+=a[0][k-1];
    for(i=1; i<n; i++)
    {
        for(k=1; k<m; k++)
        {
                a[i][k]+=min(a[i-1][k],a[i][k-1]);
        }
    }
    printf ("%i",a[n-1][m-1]);
    return 0;
}
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
#include<stdio.h>
void qq(int i, int **s, int *v, int n)
    {
    for (int j=0;j<n;j++)
        if (s[i][j]!=-1)
            if (v[j]>v[i]+s[i][j])
                {
                v[j]=v[i]+s[i][j];
                qq(j,s,v,n);
                }
    }
main()
    {
    int n,*t,**s,*v;
    scanf("%i",&n);
    t = new int [n];
    v = new int [n];
    s = new int *[n];
    for (int i=0;i<n;i++)
        {
        v[i]=30000;
        s[i] = new int [n];
        for (int j=0;j<n;j++)s[i][j]=-1;
        s[i][i]=0;
        scanf("%i",&t[i]);
        }
    v[0]=0;
    int m,a,b;
    scanf("%i",&m);
    for (int i=0;i<m;i++)
        {
        scanf("%i %i",&a,&b);
        s[a-1][b-1]=t[a-1];
        s[b-1][a-1]=t[b-1];
        }
    qq(0,s,v,n);
    if (v[n-1]==30000)printf("-1");
    else printf("%i",v[n-1]);
    return 0;
    }
Добавлено через 3 часа 57 минут
Прошу Вас, помогите мне мне её завтра сдавать....
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2010, 16:06     Объясните как работают данные исходники
Посмотрите здесь:

Как работают драйвера? C++
C++ Объясните как работает this -> и ->
Объясните как работают битовые операции C++ C++
C++ Как работают списки и как их создать вообще?
C++ Объясните, как в данном примере работают виртуальные функции?
Как открыть исходники с++, если нет *.sln файла C++
Объясните, как передать данные в функцию C++
Как собрать приложение С++ которое содержит исходники SQLite C++

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

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

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