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

Листы жести - минимальную площадь - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ rand() не случайный http://www.cyberforum.ru/cpp-beginners/thread560126.html
почему на кажджой итерации rand() выдает одно и тоже значение ? srand((unsigned)time(NULL)); vector<const string> var(4); var = "Integer"; var = "Float"; var = "String"; var = "Date"; int type_num ; string rands;
C++ Удалить из последовательности первый по порядку элемент, наиболее близкий по значению к среднему арифметическому Помогите пожалуйста составить программу: Даны целые числа a1, ..., an. Удалить из последовательности первый по порядку элемент, наиболее близкий по значению к среднему арифметическому чисел последовательности. Тема: Одномерные массивы http://www.cyberforum.ru/cpp-beginners/thread560115.html
C++ рогалики, изображение в консоли
здравствуйте, решил попробовать написать простую игру, простенький рогалик. Столкнулся с двумя проблемами: при перерисовки консоли мигает консоль (использую полную очистку консоли через system("cls"); и функцию Sleep(); ), и вторая проблема - не умею пользоваться хуками, а опрашивать клавиши при помощи функции GetAsyncKeyState(); немного неприятно, почему -то кажется что с хуками было бы...
Ввод и сохранение данных вектора C++
эсть програма но нужно добавить несколько функцый помогите кому не сложно #include "stdafx.h" #include <iostream> #include <algorithm> #include <vector> using namespace std; vector <int> bable (vector <int> & v) {
C++ Вывести журнал успеваемости студентов группы в алфавитном порядке http://www.cyberforum.ru/cpp-beginners/thread560090.html
Нужно написать код для решения следующей задачи Имеются сведения об успеваемости студентов факультета, который включают фамилию и инициалы студента, номер группы и оценки по m предметам.Студент считается среднестатистическим по k-ому предмету, если его оценка наиболее близка к средней оценке группы студентов по данному предмету. Обеспечить ввод и хранение информации об успеваемости...
C++ Колода карт реализация колоды карт :wall: подробнее

Показать сообщение отдельно
shchurkoroman
2 / 2 / 0
Регистрация: 27.03.2012
Сообщений: 13
07.06.2012, 22:45  [ТС]
Здравствуйте подправил задачу но все таки

для набора данных:

14
20 1
1 19
2 9
2 10
1 15
4 5
9 2
1 8
2 7
2 9
7 2
2 3
4 4
4 3

ответ 60

а программа выдает 168

Вот код программы помогите разобраться как сделать этот алгоритм

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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#include <iostream>
#include <fstream>
 
using namespace std;
 
void swap (int *a, int *b)
{
    int tmp=*a;
    *a=*b;
    *b=tmp;
}
 
void bubblesort(int tab[][2], int size)
{
    for(int i=0; i < size; ++i) {
        for(int j=0; j < size-i; ++j) {
            if(tab[j][1]<tab[j][0]){
                swap(&tab[j][0], &tab[j][1]);
            }
        }
    }
}
 
void bubblesort1(int tab[][2], int size)
{
    for(int i=0; i < size; ++i) {
        for(int j=1; j < size-i; ++j) {
            if(tab[j][0]*tab[j][1] > tab[j-1][0]*tab[j-1][1]) {
                swap(&tab[j][0], &tab[j-1][0]);
                swap(&tab[j][1], &tab[j-1][1]);
            }
        }
    }
}
 
int square(int tab[][2], int size)
{
    int z=0;
    int h,w;
    int square=tab[0][0]*tab[0][1];
    for(int i=1; i < size; ++i)
    {
         if (tab[i][0] <= tab[i-1][0] && tab[i][1] <= tab[i-1][1])
         {
                       
         }
         
         else
         {
         if(z==0)
         {
         square += tab[i][0]*tab[i][1];
         z=1;
         h=tab[i][0];
         w=tab[i][1];
         }
         
         if(z>0)
         {
         if (tab[i][0] <= h && tab[i][1] <= w)
         {
         h=tab[i][0];
         w=tab[i][1];             
         }
         
         else
         {
         square += tab[i][0]*tab[i][1];
         h=tab[i][0];
         w=tab[i][1];
         }   
         }
         }
    }
    return square;
}
 
int main()
{
    int n,k;
    cin>>k;
    while (k)
    {
        int rozmiar[k][2];
        for (int i=0; i<k; ++i) cin>>rozmiar[i][0]>>rozmiar[i][1];
        bubblesort(rozmiar, k);
        bubblesort1(rozmiar, k);
        cout<<square(rozmiar, k)<<endl;
        cin>>k;
    }
 
    ifstream in("Bin.txt");
    ofstream out("Bout.txt");
    if(in == NULL)    {    
    printf (" Blad odczytu pliku Bin.txt\n");
    return 0;
    }
    in>>n;
    while (n)
    {
        int rozmiar[n][2];
        for (int i=0; i<n; ++i) in>>rozmiar[i][0]>>rozmiar[i][1];
        bubblesort(rozmiar, n);
        bubblesort1(rozmiar, n);
        out<<square(rozmiar, n)<<endl;
        in>>n;
    }
    in.close();
    out.close();
 
    return 0;
}
Помогите пожалуйста а то ума не приложу как сделать эту программу
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru