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

Задачи по объектно-ориентированному программированию - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Varen_e
0 / 0 / 0
Регистрация: 09.07.2013
Сообщений: 19
09.12.2013, 08:49     Задачи по объектно-ориентированному программированию #1
Помогите, пожалуйста решить задачи.

1)K-значное число (K ≤ 10) называется пестрым, если все его цифры различны. При этом
ноль не может быть первой цифрой. Требуется написать программу, которая для
заданного K: находит максимально длинную цепочку пестрых K-значных чисел, в
которой каждое следующее число в два раза больше предыдущего; находит все такие
цепочки максимальной длины.

2)Во многих современных приложениях используется двухбайтовая таблица символов
Unicode. В отличии от однобайтовой ASCII, в Unicode на один символ приходится не
один, а два байта. Благодаря этому, в Unicode могут быть представлены не 256, а 65536
различных символов, что позволяет без пересечений включить в таблицу символы
различных алфавитов. Однако большинство систем обработки текстов по историческим причинам используют ASCII, при этом возникают проблемы с символами национальных
алфавитов: в различных кодировках символы с одним и тем же кодом ASCII отвечают
различным символам. Чтобы обойти эту проблему, разработчики различных систем
обработки текстов вводят различные кодовые последовательности для обозначения
символов национальных алфавитов. В этой задаче вам предлагается осуществить перевод
текста, написанного для системы TEX, в Unicode. Сразу отметим, что модель,
предлагаемая в данной задаче, является упрощенной и не вполне соответствует
действительности. В TEX-е для включения в текст символа национального алфавита
используется команда \IeC. Каждому символу национального алфавита ставится в
соответствие некоторая последовательность латинских букв, например русской букве "п"
ставится в соответствие последовательность
\cyrp, и эта последовательность
записывается в фигурных скобках после команды \IeC. Так, чтобы включить в текст
букву "п" надо написать \IeC{\cyrp}. Пробелы в кодовой последовательности не
разрешаются. Дан текст, оформленный в стиле TEX-а. Выведите в выходной файл
последовательность Unicode-кодов символов текста. При этом все известные включения
символов национальных алфавитов следует преобразовать в соответствующий Unicode-
символ. Остальные символы, а также последовательности, отвечающие неизвестным
символам, следует вывести неизменными (при переходе от ASCII к Unicode старший
байт двухбайтового символа становится равным 0).
Некоторые кодовые последовательности могут быть неправильными (например, содержать пробелы или
иным способом не удовлетворять формату). Их тоже следует вывести неизменными.

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

4)Стена состоит из M рядов по N одинаковых кирпичей в каждом. Каждый последующий
ряд смещен относительно предыдущего на 1/2 кирпича (см. рисунок). Четные ряды
сверху смещаются влево, а нечетные - вправо. Конфигурация из кирпичей является
устойчивой, если каждый кирпич опирается, по крайней мере, на один кирпич в
нижележащим ряду. Очевидно, что из заданной конструкции можно удалить некоторые
кирпичи без потери ее устойчивости. Требуется написать программу, которая по заданным M и N (0 < M, N ≤ 1000) и находит конструкцию, получающуюся из исходной путем удаления по возможности
максимального количества кирпичей, чтобы верхний ряд остался без изменения, а
конструкция не потеряла устойчивость.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
09.12.2013, 09:24     Задачи по объектно-ориентированному программированию #2
для каждой задачи своя тема.
bradobrei
09.12.2013, 09:40
  #3

Не по теме:

До конца врятли кто - нибудь дочитает

Genri1996
0 / 0 / 0
Регистрация: 22.12.2013
Сообщений: 15
04.03.2014, 23:43     Задачи по объектно-ориентированному программированию #4
Вот, 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
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
#include<iostream>
#include<windows.h>
#include<locale.h>
#include<conio.h>
#include<string>
//#include<cstring>
//#include<cstdlib>
#include<cmath>
//#include<time.h>
//#include<cstdio>
//#include<cctype>
//#include<stdio.h>
//#include<fstream>//
using namespace std;
 
class Oleg
{
    short *arrey;
public:
    bool pestroe;
    int chisl;
    Oleg()
    {
        cout<<"Введите число: ";
        cin>>chisl;
        int tempi=chisl;
        int temp2;
        char temp[10];
        itoa(chisl,temp,10);
        arrey = new short[strlen(temp)];
        for(int i=0;i<strlen(temp)-1;i++)
        {
            tempi=tempi/10;
            temp2=tempi%10;
            *(arrey+i)=temp2;
            for(int f=0;f<i;f++)
            {
                if(*(arrey+f)==temp2)
                {
                    pestroe = false;
                    return;
                }
            }
        }
        pestroe = true;
    };
    void print()
    {
        cout<<"Число ";
        if(pestroe)
        {
            cout<<"пестрое.";
        }
        else
        {
            cout<<"нe пестрое.";
        }
    }
};
 
void main() 
{
    //system("color 9e");
    setlocale( LC_ALL,"Russian" );
    cout<<"Введите колличество чисел: ";
    int amount;
    cin>>amount;
    Oleg *arrey = new Oleg[amount];
    for(int i=0;i<amount;i++)
    {
        cout<<"#"<<i+1<<" ";
        (*(arrey+i)).print();
        cout<<endl;
    }
    int max=0;
    int curr=0;
    int amx =0;
    Oleg *chain = new Oleg[amx];
    for(int i =0;i<amount;i++)
    {
        if((*(arrey+i)).pestroe&&(*(arrey+i-1)).pestroe&&(*(arrey+i)).chisl/(*(arrey+i-1)).chisl==2)
        {
            max++;
            if(max>curr)
                curr=max;
        }
        else
            max=0;
    }
    cout<<"Максимальная цепочка: "<<curr+1;
    _getch();
}
Yandex
Объявления
04.03.2014, 23:43     Задачи по объектно-ориентированному программированию
Ответ Создать тему
Опции темы

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