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

Программа обсчитывает не правильно! - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Дана действительная матрица размером пхт, все элементы которой различны. В каждой строке выбирается элемент с наименьшим значением, затем среди этих ч http://www.cyberforum.ru/cpp-beginners/thread597390.html
Прошу помощи) Задана такая работа: Дана действительная матрица размером пхт, все элементы которой различны. В каждой строке выбирается элемент с наименьшим значением, затем среди этих чисел выбирается наибольшее. Указать индексы элемента с найденным значением. Помогите плиз) сам честно не бум бум в этом ,а сдать надо((
C++ Вывод результата работы программы ввиде таблицы Я сделал вывод работы программы ввиде таблицы с помощью setw. Но при выводе длинных слов или больших чисел вся таблица сбивается. Подскажите как лучше сделать. # include<string.h> # include<iomanip.h> # include <stdio.h> # include <conio.h> # include <iostream.h> FILE *f; int i; int z,q,A,B,min,X;int k; const n=3; char S; char h; http://www.cyberforum.ru/cpp-beginners/thread597379.html
Попадает ли точка в закрашенную область C++
помогите пожалуйста вот мое задание...
запись в файл! C++
не могу понять как, не получается сохранить результат,который выводится на экран (массив чисел), в файл. #include "percolation.h" #include <conio.h> #include <stdio.h> #include <ctype.h> #include <malloc.h> #include <stdlib.h> #include <iostream> using namespace std;
C++ OwnerDraw ListView with Checkboxes http://www.cyberforum.ru/cpp-beginners/thread597352.html
Отрисовываю свои чекбоксы в виртуальном листвьюве. Есть 2 вопроса. 1. Где хранятся значения состояния чекбоксов? 2. Как мне определить то, что клик был произведён по области 50х50 в самом начале итема?
C++ Функция выводит день недели void day(char*S,int N) Функция выводит день недели в переменную N, результат выводит в S. Как-то так... Добавлено через 2 минуты Не обязательно с использованием свитч подробнее

Показать сообщение отдельно
shchurkoroman
2 / 2 / 0
Регистрация: 27.03.2012
Сообщений: 13
05.06.2012, 20:39     Программа обсчитывает не правильно!
Задача

На складе хранятся прямоугольные листы жести разных размеров. Листы расположены горизонтально на полу. Для экономии поверхности, они накладываются друг на друга, но так, чтобы лист лежащий выше, в целом размере был размещен на листе, который находится под ним. Кладовщик заботится о том, чтобы соответствующие края листов жести были параллельными, а в середины листов создавали единую стопку, лежа на одной вертикали. Чтобы приспособиться к листу жести, который находится ниже можно поворачивать его на 90 градусов вокруг центра.

Задание:

Напишите программу, которая для данных листов жести обсчитает минимальную площадь пола, учитывая вышеназванные требования.

Входные данные:

Стандартный вход содержит несколько наборов данных. Первая строка содержит один набор, неотъемлемое целое n (n <= 200) которое указывает на количество листов в проблеме. Если он равен 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
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
#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][0]) {
                swap(&tab[j][0], &tab[j-1][0]);
                swap(&tab[j][1], &tab[j-1][1]);
            }
        }
    }
}
 
void bubblesort2(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 square=tab[0][0]*tab[0][1];
    for(int i=1; i < size; ++i)
    {
        if (tab[i][0] > tab[i-1][0] && tab[i][0] > tab[i-1][1])  square += tab[i][0]*tab[i][1];{}
        if (tab[i][1] > tab[i-1][0] && tab[i][1] > tab[i-1][1])  square += tab[i][0]*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);
        bubblesort2(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);
        bubblesort2(rozmiar, n);
        out<<square(rozmiar, n)<<endl;
        in>>n;
    }
    in.close();
    out.close();
 
    return 0;
}
Для входных данных:
12
10 10
9 9
8 8
7 7
6 6
5 5
4 4
3 3
2 2
1 1
7 5
2 4

12
10 10
9 9
8 8
7 7
6 6
5 5
4 4
3 3
2 2
1 1
7 5
9 4
0

Правильный ответ:
135
171

у меня совсем другое помогите решить эту задачку! Спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru