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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Soft
4 / 4 / 1
Регистрация: 20.09.2010
Сообщений: 102
#1

Исправить ошибки в программе - C++

26.09.2010, 16:24. Просмотров 1146. Ответов 0
Метки нет (Все метки)

Помогите пожалуйста исправить ошибки в программе:
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
#include <iostream>
#include <conio.h>
#include <pthread.h>
#include <semaphore.h>
    int N;
  int X[N];
 int Y[N];
int Q[N];
     const N=20;
  sem_t sem_inpX, sem_inpY, sem_outQ;
  void * func_first (void * args)
int i;
{
   for (i=0; i<=N; i++)
Y[i]=1;
   sem_post (&sem_inpY);
  sem_wait (&sem_inpX);
 for (i=N/2+1; i<N; i++)
Q[i]=X[i]+3*Y[i];
     sem_post (&sem_outQ);
}
    int main ()
{
   sem_init (&sem_inpX,0,0);
sem_init (&sem_inpY,0,0);
 sem_init (&sem_outQ,0,0);
    pthread_t first;
          pthread_create (&first,NULL,func_first,NULL);
  int i; 
    for (i=0; i<N; i++)
              X[i]=1;
  sem_post (&sem_inpX);
       sem_wait (&sem_inpY);
for (i=0;i<N/2; i++)
     Q[i]=X[i]+3*Y[i];
  sem_wait(&sem_inpY);
  for (i=0; i<N; i++)
  std::cout <<Q[i];
             return 0;
}
Вот ошибки:
Untitled1.cpp:6: variable-size type declared outside of any function
Untitled1.cpp:7: variable-size type declared outside of any function
Untitled1.cpp:8: variable-size type declared outside of any function
Untitled1.cpp:9: ISO C++ forbids declaration of `N' with no type
Untitled1.cpp:9: conflicting types for `const int N'
Untitled1.cpp:5: previous declaration as `int N'
Untitled1.cpp: In function `void* func_first(void*)':
Untitled1.cpp:12: parse error before `int'
Untitled1.cpp:13: parse error before `{' token
Untitled1.cpp:14: syntax error before `<=' token
Untitled1.cpp:14: syntax error before `++' token
Untitled1.cpp:16: ISO C++ forbids declaration of `sem_post' with no type
Untitled1.cpp:16: `int sem_post' redeclared as different kind of symbol
C:/Program Files/Dev-Cpp/include/semaphore.h:139: previous declaration of `int
sem_post(sem_t_**)'
Untitled1.cpp:16: invalid conversion from `sem_t_**' to `int'
Untitled1.cpp:17: ISO C++ forbids declaration of `sem_wait' with no type
Untitled1.cpp:17: `int sem_wait' redeclared as different kind of symbol
C:/Program Files/Dev-Cpp/include/semaphore.h:134: previous declaration of `int
sem_wait(sem_t_**)'
Untitled1.cpp:17: invalid conversion from `sem_t_**' to `int'
Untitled1.cpp:18: parse error before `for'
Untitled1.cpp:18: parse error before `;' token
Untitled1.cpp:18: syntax error before `++' token
Untitled1.cpp:20: ISO C++ forbids declaration of `sem_post' with no type
Untitled1.cpp:20: redefinition of `int sem_post'
Untitled1.cpp:16: `int sem_post' previously defined here
Untitled1.cpp:20: invalid conversion from `sem_t_**' to `int'
Untitled1.cpp:21: parse error before `}' token
Untitled1.cpp: In function `int main()':
Untitled1.cpp:32: `sem_post' cannot be used as a function
Untitled1.cpp:33: `sem_wait' cannot be used as a function
Untitled1.cpp:36: `sem_wait' cannot be used as a function

Добавлено через 28 минут
С ошибками разобрался! Помогите пожалуйста теперь реализовать ввод X в1-й поток и ввод Y в главный поток main.

Добавлено через 26 минут
Всем спасибо за внимание, я уже разобрался! Программа работает! Кому интересно вот рабочий правильный код:
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
#include <iostream>
#include <conio.h>
#include <pthread.h>
#include <semaphore.h>
int i;
const int N=20;
int X[N];
int Y[N];
int Q[N];
sem_t sem_inpX, sem_inpY, sem_outQ;
void * func_first (void * args)
{
for (i=0; i<=N; i++)
Y[i]=1;
sem_post (&sem_inpY);
sem_wait (&sem_inpX);
for (i=N/2+1; i<N; i++)
Q[i]=X[i]+3*Y[i];
sem_post (&sem_outQ);
return NULL;
}
int main (void)
{
sem_init (&sem_inpX,0,0);
sem_init (&sem_inpY,0,0);
sem_init (&sem_outQ,0,0);
pthread_t first;
pthread_create (&first,NULL,func_first,NULL);
int i;
for (i=0; i<N; i++)
{
X[i]=1;
}
sem_post (&sem_inpX);
sem_wait (&sem_inpY);
for (i=0;i<N/2; i++)
Q[i]=X[i]+3*Y[i];
sem_wait(&sem_outQ);
for (i=0; i<N; i++)
std::cout <<Q[i] <<"\n";
getch();
return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.09.2010, 16:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Исправить ошибки в программе (C++):

Исправить ошибки в программе - C++
Здравствуйте,знаю что намудрил,буду очень благодарен, удалось убрать большинство ошибок,но некоторые остались, заранее спасибо! Текст...

Исправить ошибки в программе - C++
3. Даны действительные числа a, b, c, d, s, t, u (s и t одновременно не равны нулю). Известно, что точки (a, b) и (c, d) не лежат на...

Исправить ошибки в программе - C++
Вот задача такая нужно прочитать из файла число прибавить к нему один и записать полученную суму обратно в этот же файл.Вот как я это...

Исправить ошибки в программе на С++ - C++
#include &lt;iostream&gt; #include &lt;algorithm&gt; #include &lt;vector&gt; using namespace std; class Comp { public: boolean...

Исправить ошибки в программе - C++
Написать программу которая выводит ваше имя на экран в основном модуле и в модуле функции... #include&lt;stdio.h&gt; fun(); voind main()...

Исправить ошибки в программе - C++
#include &lt;vector&gt; #include &lt;limits&gt; using namespace std; int n, minrow, INF; vector &lt; vector&lt;int&gt; &gt; a; vector&lt;int&gt; xy,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.09.2010, 16:24
Привет! Вот еще темы с ответами:

Исправить ошибки в программе - C++
#include &lt;iostream&gt; using namespace std; char a; int k, i; int main() { setlocale(0, &quot;&quot;); cout &lt;&lt; &quot;Введите...

Исправить ошибки в программе - C++
#include&lt;stdio.h&gt; void NewMatr(int **matr, int size) { for(int i=0;i&lt;size;i++) for(int j=0;j&lt;size;j++) {...

Исправить ошибки в программе C++ - C++
База данных есть некоторые ошибки не могу исправить... #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include...

Доделать и исправить ошибки в программе! - C++
Кодирование Хаффмана Нужно доделать и исправить ошибки в программе! По 11 варианту! См. приложения! Нужно перенести большую часть...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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