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

Любая ваша программа - C++

Восстановить пароль Регистрация
 
Кригель
0 / 0 / 0
Регистрация: 18.12.2012
Сообщений: 49
16.12.2013, 18:44     Любая ваша программа #1
Добрый вечер, форумчане, нуждаюсь в вашей помощи.

Суть в том, что мне нужна абсолютно любая простая(консольная) наглядно работающая и выполняющая свою задачу программа. Будь то что-угодно, сойдёт всё.
Основным требованием является лишь наличие в программе шести-десяти функций.
Так же было бы хорошо, если бы вы объяснили суть её работы.
Компилировать собираюсь в пятом борлэнде.

Уверен, у кого-то из вас могло заваляться нечто подобное. Буду благодарен любой помощи. Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2013, 18:44     Любая ваша программа
Посмотрите здесь:

C++ С++ любая программа
C++ Нужна любая полезная программа.
Массив (нужна любая подсказка) C++
C++ Любая информация по NDIS Intermediate driver.
C++ Ваша программа вызвала нарушение доступа(ошибка сегментации)
Любая программа на с++, которая вносит изменения в регистр C++
Системе не удается найти указанный путь. VS 2012(и любая другая) C++
Есть у кого-то любая игра на С++? C++
Выполнение функции, пока не будет нажата любая кнопка C++
Ошибка: "Ваша программа вызвала нарушение доступа (ошибку сегментации)" C++
C++ Как исправить ошибку "Ваша программа вызвала нарушение доступа (ошибка сегментации)" ?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lpvoid
 Аватар для lpvoid
320 / 303 / 17
Регистрация: 06.03.2013
Сообщений: 869
16.12.2013, 19:01     Любая ваша программа #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
31
32
33
34
#include <iostream>
 
void func1() {
    std::cout << __FUNCTION__ << " executed" << std::endl;
}
 
void func2() {
    std::cout << __FUNCTION__ << " executed" << std::endl;
}
 
void func3() {
    std::cout << __FUNCTION__ << " executed" << std::endl;
}
 
void func4() {
    std::cout << __FUNCTION__ << " executed" << std::endl;
}
 
void func5() {
    std::cout << __FUNCTION__ << " executed" << std::endl;
}
 
void func6() {
    std::cout << __FUNCTION__ << " executed" << std::endl;
}
 
int main() {
    func1();
    func2();
    func3();
    func4();
    func5();
    func6();
}

Не по теме:

. простите, не удержался

Кригель
0 / 0 / 0
Регистрация: 18.12.2012
Сообщений: 49
16.12.2013, 19:13  [ТС]     Любая ваша программа #3
От шести до десяти.

Разумеется, что программа должна выполнять какую-то практичную задачу. Шесть функций с cout не предлогать, пожалуйста)
lemegeton
 Аватар для lemegeton
2913 / 1342 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
16.12.2013, 20:30     Любая ваша программа #4
Что-то про окружность, вписанную в прямоугольник и двойную диспетчеризацию...
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
#include <iostream>
#include <iomanip>
 
/* 
 * В выпуклый четырёхугольник ABCD можно вписать окружность тогда и
 * только тогда, когда суммы его противоположных сторон равны. 
 * По условию окружность вписана в прямоугольник.
 * Прямоугольник, в котором суммы противоположных сторон равны,
 * есть квадрат.
 */
 
struct Point {
  Point() :x(0), y(0) {}
  Point(double x, double y) : x(x), y(y) {}
  double x, y;
};
 
std::ostream &operator<<(std::ostream &stream, const Point &p) {
  return stream << "Point{" <<
    std::fixed << std::setprecision(2) <<
    "x=" << p.x << "," <<
    "y=" << p.y << "}";
}
 
class Surface;
 
class Drawable {
 public:
  virtual void draw(Surface &surface) = 0;
};
 
/*
 * Этот класс должен отрисовывать примитивы
 */
class Surface {
 public:
  void draw(Drawable &object) {
    object.draw(*this);
  }
  void drawLine(const Point &a, const Point &b) {
    // тут должен быть код, отрисовывающий линию
    std::cout << "Line{a=" << a << ",b=" << b << "}" << std::endl;
  }
  void drawCircle(const Point &center, double radius) {
    // тут должен быть код, отрисовывающий оркужность
    std::cout << "Circle{center=" << center << ",radius=" << radius <<
      "}" << std::endl;    
  }
  void clear() {
    // тут должен быть код, очищающий поверхность
    std::cout << "Surface cleared." << std::endl;
  }
};
 
class Placeable {
 public:
  Placeable() : point() {}
  Placeable(double x, double y) : point(x, y) {}
  double getX() const { return point.x; }
  double getY() const { return point.y; }
  void setX(double x) { this->point.x = x; }
  void setY(double y) { this->point.y = y; }
 private:
  Point point;
};
 
class Square : public Drawable, public Placeable {
 public:
  Square(double x, double y, double side) : Placeable(x, y), side(side) {}
  double getSide() const { return side; }
  void setSide(double side) { this->side = side; }
  virtual void draw(Surface &surface) {
    surface.drawLine(Point(getX(), getY()), Point(getX() + side, getY()));
    surface.drawLine(Point(getX(), getY()), Point(getX(), getY() + side));
    surface.drawLine(Point(getX() + side, getY()), Point(getX() + side,
      getY() + side));
    surface.drawLine(Point(getX(), getY() + side), Point(getX() + side,
      getY() + side));
  }
 private:
  double side;
};
 
class Circle : public Drawable, public Placeable {
 public:
  Circle(double x, double y, double radius) : Placeable(x, y),
    radius(radius) {}
  double getRadius() const { return radius; }
  void setRadius(double radius) { this->radius = radius; }
  virtual void draw(Surface &surface) {
    surface.drawCircle(Point(getX(), getY()), radius);
  }
 private:
  double x, y, radius;
};
 
class Scene {
 public:
  Scene(size_t capacity) : capacity(capacity), size(0),
    drawables(new Drawable*[capacity]) {}
  virtual ~Scene() {
    delete [] drawables;
  }
  Drawable **add(Drawable *drawable) {
    drawables[size++] = drawable;
    return drawables + size;
  }
  Drawable *operator[](size_t position) {
    return drawables[position];
  }
  const Drawable *operator[](size_t position) const {
    return drawables[position];
  }
  size_t getSize() const {
    return size;
  }
  
  void draw(Surface &surface) {
    surface.clear();
    for (size_t i = 0; i < size; ++i) {
      surface.draw(*(drawables[i]));
    }
  }
 private:
  Scene(const Scene&);
  Scene &operator=(const Scene&);
  size_t capacity;
  size_t size;
  Drawable **drawables;
};
 
class Command {
 public:
  virtual void execute() = 0;
};
 
class ShiftPlaceableCommand : public Command {
 public:
  ShiftPlaceableCommand(Placeable &placeable, double shiftX, double shiftY)
    : placeable(placeable), shiftX(shiftX), shiftY(shiftY) {}
  virtual void execute() {
    placeable.setX(placeable.getX() + shiftX);
    placeable.setY(placeable.getY() + shiftY);
  }
 private:
  Placeable &placeable;
  double shiftX, shiftY;
};
 
Circle getInscribedCircle(const Square &square) {
  double halfSide = square.getSide() / 2.0;
  return Circle(square.getX() + halfSide,
    square.getY() + halfSide, halfSide);
}
 
int main(int argc, char *argv[]) {
  Surface surface;
  Scene scene(2);
 
  Square square(1, 1, 2);
  Circle circle = getInscribedCircle(square);
 
  scene.add(&square);
  scene.add(&circle);
 
  ShiftPlaceableCommand shiftCircle(circle, 1.03, 1.03);
  ShiftPlaceableCommand shiftSquare(square, 1.03, 1.03);
 
  for (int i = 0; i < 100; ++i) {
    shiftCircle.execute();
    shiftSquare.execute();
    scene.draw(surface);
  }
  
  return 0;
}
Кригель
0 / 0 / 0
Регистрация: 18.12.2012
Сообщений: 49
16.12.2013, 21:41  [ТС]     Любая ваша программа #5
Благодарю, но, мб, что-то будет ещё?
2ima
☆ Форумчанин(FSC)☆
 Аватар для 2ima
909 / 288 / 9
Регистрация: 28.04.2013
Сообщений: 2,337
Записей в блоге: 10
Завершенные тесты: 1
16.12.2013, 21:59     Любая ваша программа #6
Реверс строки
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
using namespace std;
 
#define MAXW 1024
 
/*
 * word_reverse: реверс слов в строке s, разделенных
 * знаками, указанными в параметре delim */
char * word_reverse(char *s, char delim) {
    int i, nw;
    char *buf, *p;
    char *words[MAXW];
 
    // выделение слов в строке
    buf = strdup(s);
    for(i = 0, p = buf; i < MAXW && (p = strtok(p, delim)); i++, p = NULL)
        words[i] = strdup(p);
 
    nw = i;
    *buf = '\0';
    // запись слов в результирующую строку в обратном порядке
    for(i = nw - 1; i >= 0; i--) {
        strcat(buf, words[i]);
        i > 0 ? strcat(buf, " ") : 0;
    }
 
    // освобождение памяти из-под слов
    for(i = 0; i < nw; i++)
        free(words[i]);
    return buf;
}
 
int main () {
    setlocale(LC_ALL, "Russian");
    char * word_reverse(char *, char *);
    char s[4096], *p;
 
    printf("Введите строку: ");
    if(fgets(s, sizeof(s), stdin) == NULL)
        return 1;
    if  (*s == '\n') { printf ("Строка не введена!\n"); exit(0); }
        if(p = strchr(s, '\n'))
        *p = '\0';
 
    p = word_reverse(s, " \t()-:;,.?!");
    printf("Новая строка: %s\n", p);
    free(p);
    return 0;
}
Yandex
Объявления
16.12.2013, 21:59     Любая ваша программа
Ответ Создать тему
Опции темы

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