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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Builder Невозможно преобразовать AnsiString в int http://www.cyberforum.ru/cpp-beginners/thread169460.html
Для той что в танке,помогите исправить ошибку в 5й строке,пишет что-то в роде того,что нельзя преобразовать тип с Ansistring B int int max=abs(StrToInt(StringGrid1 ->Cells)); for(i=1;i<=m;i++) {for(j=1;j<=n;j++) {if(max< abs(StringGrid1 ->Cells)) max=abs(StringGrid1 ->Cells)}} StringGrid4 ->Cells= IntToStr(max);
C++ Классы Привет всем программистам. Вот уже полгода учу С++ и как бы все было относительно понятно (почти))), но вот щас дошел до классов и ничерта не понимаю как и что там. Может кто нить помочь на конкретных примерах, растолковать что к чему, как вообще ими пользоваться. И на лекциях читаю, и Павловскую читал, все равно что то не могу понять. Помогите плиз)) Заранее спасибо http://www.cyberforum.ru/cpp-beginners/thread169455.html
Найти ошибку в данном примере C++
#include <math.h> #include <iostream> using namespace std; int main() { int n, a; cin >> n; int sum = 1/a; for (int i=1; i<=n; i++) {
C++ Преобразование одномерного массива, состоящего с n вещественных элементов
Помогите пожалуйста! Надо преобразовать одномерный массив, состоящий с n вещественных элементов, таким образом, чтобы сначала располагались все элементы, равные нулю, а потом - все остальные. Заранее спасибо:)
C++ Вычислительные методы метод ньютона интерполяция вперед http://www.cyberforum.ru/cpp-beginners/thread169431.html
Народ кто делал этот метод помогите плз вот теория http://miest.narod.ru/iissvit/rass/vip16.htm.
C++ Классы Вектора. народ помогите Задание такое: Создать класс vector3D, задаваемый тройкой координат. Обязательно должны быть реализованы: сложение и вычитание векторов, скалярное произведение векторов, умножение вектора на скаляр, вычисление длины вектора, сравнение длины векторов, поворот вектора на заданное количество градуссов (целое число от 0 до 360 градусов) вокруг одной из осей относительно центра... подробнее

Показать сообщение отдельно
Soft
4 / 4 / 1
Регистрация: 20.09.2010
Сообщений: 102
26.09.2010, 16:24     Исправить ошибки в программе
Помогите пожалуйста исправить ошибки в программе:
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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru