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

Прочитать программу, написать псевдо-код и объяснить его - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Редактируем исходник Return to Castle Wolfenstain. http://www.cyberforum.ru/cpp-beginners/thread510925.html
Я делаю мод для Return to Castle Wolfenstain на движке Quake 3.Компьютеры в 2001 году были слабенькие, соответственно игра имеет очень много ограничений: по количеству брашей MAX_MAP_BRUSHES 0x8000, количеству солдат на мапе, вершин и т.д... Например модели подходят только низкополигональные, если не ошибаюсь, не больше 1000 полигонов... Сейчас компьютеры мощные, а ограничения, зашитые в движок...
C++ Для каждого массива определить произведение положительных элементов ,расположенных в чётных строках массива Даны вещественные массивы F, M.Для каждого массива определить произведение положительных элементов ,расположенных в чётных строках массива, и произведение положительных элементов, расположенных в нечётных строках массива. #include < iostream.h> #include <iomanip.h> //прототипы функций void input ( float ,char); void schetproduct (float, float *, float *); void output ( float , char ,... http://www.cyberforum.ru/cpp-beginners/thread510920.html
Для каждого массива определить количество элементов предшествующих первому отрицательному элементу массива C++
Даны вещественные массивы A S.Для каждого массива определить количество элементов предшествующих первому отрицательному элементу массива. #include <iostream.h> #include <iomanip.h> // прототипы функций void inputmas (int ,char); int schet (int); void outrez (int ,char ,int); void main() {
C++ Определить значения вещественного массива
Дан вещественный массив С.Определить значения вещественного массива D по следующему правилу: D=сумме i-й строки в массиве С,если С>0 и D=0 в противном случае.Значение переменной i изменяется от 0 до 4. #include <iostream.h> #include <conio.h> #include <stdio.h> void main() { //объявление массивов и переменных float c,d; int i,j;
C++ Определить сколько различных цифр встречается в строке http://www.cyberforum.ru/cpp-beginners/thread510913.html
1).Создать функцию ParallelepipedVolume(a,b,c) вычисления объема параллелепипеда. ОБЪЕМ ПАРАЛЛЕПИПЕДА Введите через пробел длины сторон a, b, c в миллиметрах и нажмите : ->5 4 12 Результат: 240 куб. мм. 2).Ввести с клавиатуры строку текста. Подсчитать количество пробелов в строке. 3).Определить сколько различных цифр встречается в строке.
C++ Выделение памяти при вводе строки Условие такое, клавиатуры вводится строка (в данной программе строка - массив символов, первоначально под который выделена память для 3ех элементов ) char *str1=new char; задача состоит в том, чтобы в случае ввода строки, состоящей из более чем 3ех символов, выделялась память под необходимое количество символов, и строка полностью записывалась в sыек1) понятно, что нужно скопировать, в... подробнее

Показать сообщение отдельно
jonikmmm
Сообщений: n/a
04.12.2011, 16:37     Прочитать программу, написать псевдо-код и объяснить его
Здравствуйте! Пожалуйста помогите разобраться с программой дубовиком.... мне нужно сдавать лабораторную, а я не знаю, что там и как.... плачу 200 рублей за успешно-сданную лабораторную))) Нужно либо псевдо код написать либо в комментариях что и как работает, а еще потом по телефону объяснить или по скайпу...буду очень благодарен! Прикрепляю код:

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
#include "widget.h"
#include "ui_widget.h"
#include <QDebug>
#include <QString>
 
#include <pthread.h>
#include <unistd.h>
#include <fstream>
#include <iostream>
#include <sstream>
#include <vector>
#include <string>
#include <ctime>
#include <cstdlib>
#include <cerrno>
#include <cstring>
 
using namespace std;
namespace{
 
 
vector<string> names;
vector<pthread_t> thr1, thr2;
pthread_t main;
QString ostring;
 
struct Info{
int NThreads;
class Widget *that;
}myInfo;
 
 
class make_string{
private:
std::ostringstream buffer;
public:
template<typename T>
make_string& operator << (T const &datum){
buffer<<datum;
return *this;
}
operator std::string() const{
return buffer.str();
}
 
};
 
void postMessage(const string& message){
QString result = ostring+message.c_str();
ostring=result;
cout<<message.c_str();
}
 
void postError(pthread_t thread, int result){
if(result) postMessage(make_string()<<"Thread "<<thread<<" exit with an error: "<<strerror(result));
}
 
void *thread1(void *p)
{
string name = make_string()<<pthread_self();
int ip = *(reinterpret_cast<int*>(p));
names[ip] = name;
ofstream out(name.c_str());
int x = rand()%100+1;
for (int i = 0; i<x; i++) out << "s";
out.close();
time_t timer = time(0);
string message = make_string()<<"Hi, I am odd thread with ID = "<<static_cast<unsigned int>(pthread_self())<<", PID = "<< getpid()<<", PPID = "<<getppid()<<", TIME = "<< ctime(&timer)<<"FileName = "<<name<<", Number of written symbols = "<<x<<"\n\n";
postMessage(message);
return NULL;
}
 
void *thread2(void *p)
{
int ip = *(reinterpret_cast<int*>(p));
pthread_join(thr1[ip], NULL);
ifstream in(names[ip].c_str());
int a = 0;
char temp;
while(!in.eof())
{
in >> temp;
a++;
}
in.close();
time_t timer = time(0);
string message = make_string()<<"Hi, I am even thread with ID = "<<static_cast<unsigned int>(pthread_self())<<", PID = "<< getpid()<<", PPID = "<<getppid()<<", TIME = "<< ctime(&timer)<<"FileName = "<<names[ip]<<", Number of read symbols = "<<a<<"\n\n";
postMessage(message);
return NULL;
}
void * anotherMain(void *)
{
ostring="";
int NPairs = myInfo.NThreads;
thr1.resize(NPairs);
thr2.resize(NPairs);
names.resize(NPairs);
for (int i = 0; i<NPairs; i++)
{
if(pthread_create (&thr1[i], NULL, thread1, &i)<0)
{
postMessage(make_string()<<"Cannot create odd thread\n");
printf("Cannot create odd thread");
continue;
}
if(pthread_create (&thr2[i], NULL, thread2, &i)<0){
postMessage(make_string()<<"Cannot create even thread\n");
pthread_join(thr1[i], NULL);
}else{
pthread_join(thr2[i],NULL);
}
}
return NULL;
}
}
Widget::Widget(QWidget *parent)
: QWidget(parent), ui(new Ui::Widget)
{
ui->setupUi(this);
ui->input->setInputMask("9;");
}
 
Widget::~Widget()
{
delete ui;
}
 
void Widget::on_startButton_clicked(){
bool a;
int NThreads =ui->input->text().toInt(&a);
 
if(a){
myInfo.NThreads=NThreads;
myInfo.that=this;
pthread_create(&main, NULL, anotherMain,NULL);
pthread_join(main, NULL);
postMessage(ostring);
}
}
void Widget::postMessage(const QString& message){
QString output = ui->output->toPlainText()+message;
ui->output->setPlainText(output);
}
void Widget::on_clearButton_clicked(){
ui->output->clear();
}

Результаты работы программы

Hi, I am odd thread with ID = 3067411312, PID = 2418, PPID = 2385, TIME = Wed Mar 24 02:04:26 2010
FileName = 3067411312, Number of written symbols = 6

Hi, I am even thread with ID = 3059018608, PID = 2418, PPID = 2385, TIME = Wed Mar 24 02:04:26 2010
FileName = 3067411312, Number of read symbols = 7

Hi, I am odd thread with ID = 3059018608, PID = 2418, PPID = 2385, TIME = Wed Mar 24 02:04:26 2010
FileName = 3059018608, Number of written symbols = 52

Hi, I am even thread with ID = 3067411312, PID = 2418, PPID = 2385, TIME = Wed Mar 24 02:04:26 2010
FileName = 3059018608, Number of read symbols = 53
Можете либо позвонить на +79243118379, если сможете помочь, либо написать на jon_krivonogov@mail.ru...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru