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

Олимпиада 1999г. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Хранение и представление натуральных чисел http://www.cyberforum.ru/cpp-beginners/thread209767.html
Собственно вопрос как их представить? При использование unsigned int n = 0; n -= 1; cout << n; //4294967295 - результат а необходим 0. вариант везде использовать if( n - k < 0) ....; неудобен. Может кто подскажет, что делать? Была мысль сделать класс натуральных чисел, но она мне не нравится.
C++ Жадный алгоритм Нужно сделать проверку на правильность жадного алгоритма, доказать, что его решение единственно правильное. Кто знает? вот вполне рабочий код с жадным алгоритмом. #include <stdio.h> #include <iostream> using namespace std; int max(double* m, int n) { double max; int i, k; max = m; http://www.cyberforum.ru/cpp-beginners/thread209761.html
скажите что нет так C++
В двумерном массиве хранятся данные об оценках N студентов по М предметам. Номер строки соответствует номеру студента в группе, номер столбца – предмету. Опре-делить K самых успешных студентов. ЕСЛИ МОЖНО НАПИШИТЕ КАК НАДО. #include "stdafx.h" #include "stdlib.h" #include "stdio.h" #include "windows.h" #include "locale.h"
C++ Указатели
Доброго времени суток! Мне очень нужна помощь! Нужно написать программу, которая, используя УКАЗАТЕЛИ на функции для их вызова, вычисляет цепную дробь: n+1/(n-1)+1/(n-2)+...+1/2. Все дело в том, что мне нужно это очень срочно, на завтра, поэтому нет времени долго разбираться самой. Буду очень благодарна за Вашу отзывчивость!!!
C++ Удаление узла из дерева http://www.cyberforum.ru/cpp-beginners/thread209731.html
сделав функции добавления,поиска,пару обходов и вывод ввиде дерева в консоли(жаль что нельзя размер по x изменить) при тестировании возникла проблема удаления. суть в том что когда я удаляю элементы если я удалю все элементы левого поддерева то,теоретически,корнем должен стать узел из правого поддерева но! вылетает прога тогда. вот почти рабочая функция.что не так? int rightmost(uzel...
C++ Builder Форма ввода логина и пароля (BCB6) помогите плиз!! надо сделать форму на логин и пароль в builder 6! ну штоби в едити ввадить их! личше штоб пароль не висвечивалса при вводе! срочно нужно! как ето прописать и привезать к едитам (если к едитам)! подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
13.12.2010, 14:50     Олимпиада 1999г.
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
63
#include <stdio.h>
#include <math.h>
int main()
{
      freopen("input.txt","r",stdin);
      freopen("output.txt","w",stdout);
        int N, K, i, j, **mas1, **mas2, *mas_res, i_res=1, temp;
        scanf("%d %d", &N, &K);
        mas1=new int*[N];
        mas2=new int*[N];
        mas_res=new int[N];
        for(i=0; i<N; i++)
        {
            mas1[i]=new int[K];
            mas2[i]=new int[K];
            for(j=0; j<K; j++)
                scanf("%d", &mas1[i][j]);
        }
        for(i=0; i<K; i++)
        {
            temp=0;
            for(j=0; j<K; j++)
                if(mas1[N-1][j])
                    temp+=abs(i-j);
            mas2[N-1][i]=temp;
        }
        for(i=N-2; i>=0; i--)
        {
            for(j=0; j<K; j++)
            {
                temp=mas2[i+1][j];
                if(j>0 && temp>mas2[i+1][j-1])
                    temp=mas2[i+1][j-1];
                if(j<K-1 && temp>mas2[i+1][j+1])
                    temp=mas2[i+1][j+1];
                for(int y=0; y<K; y++)
                    if(mas1[i][y])
                        temp+=abs(y-j);
                mas2[i][j]=temp;
            }
        }
        temp=0;
        for(i=0; i<K; i++)
            if(mas2[0][i]<mas2[0][temp])
                temp=i;
        mas_res[0]=(N-1)*K+temp+1;
        int temp_N=1;
        while(temp_N<=N-1)
        {
            int temp2=temp;
            if(temp>0 && mas2[temp_N][temp2]>mas2[temp_N][temp-1])
                temp2=temp-1;
            if(temp<K-1 && mas2[temp_N][temp2]>mas2[temp_N][temp+1])
                temp2=temp+1;
            mas_res[i_res++]=(N-temp_N-1)*K+temp2+1;
            temp_N++;
            temp=temp2;
        }
        i_res--;
        while(i_res>=0)
            printf("%d\n", mas_res[i_res--]); 
        return 0;
}
 
Текущее время: 06:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru