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

трабла кодом(Функция) - C++

Восстановить пароль Регистрация
 
vaik00
0 / 0 / 0
Регистрация: 05.01.2011
Сообщений: 16
16.02.2011, 04:48     трабла кодом(Функция) #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
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
void z(float p[20],int u)
  {
    int i;
    int F1,F2,S1,S2,K1,K2;
     S1=0;
     S2=0;
     K1=0;
     K2=0;
      for (i=0;i<u;i++)
      {
       if (p[i]>0)
    {
     S1=S1+p[i];
     K1=K1+1;
    }
       if (p[i]<0)
    {
     S2=S2+p[i];
     K2=K2+1;
    }
       }
     if(K1!=0) F1=S1/K1;
     else F1=1;
     if(K2!=0) F2=S2/K2;
     else F2=1;
     z=F1*F2;
   }
 main(void)
 {
   float a[n];
   float b[n];
   float c[n];
   int n,m,k,i;
   float X,Y,L;
 
 
clrscr();
cout<<"Vvedit kilkist elementiv A\n";
cin>>n;
clrscr();
 for (i=0;i<n;i++){
  cout<<"a["<<i<<"]=";
  cin>>a[i];
  }
 X=z(a,n);
clrscr();
cout<<"Vvedit kilkist elementiv B\n";
cin>>m;
clrscr();
 for (i=0;i<m;i++){
  cout<<"b["<<i<<"]=";
  cin>>b[i];
  }
 Y=z(b,m);
clrscr();
cout<<"Vvedit kilkist elementiv C\n";
cin>>k;
clrscr();
 for (i=0;i<k;i++){
  cout<<"c["<<i<<"]=";
  cin>>c[i];}
clrscr();
L=z(c,k);
clrscr();
cout<<"Laboratorna robota BC-6\n";
cout<<"Funkcii\n";
cout<<"Studnta grupy PIit-10-1\n";
cout<<"Halymendyka V.O.\n";
cout<<"Vector A\n";
for (i=0;i<n;i++){
cout<<"a["<<i<<"]="<<a[i];
cout<<"\n";}
cout<<"Vector B\n";
for (i=0;i<m;i++){
cout<<"b["<<i<<"]="<<b[i];
cout<<"\n";}
cout<<"Vector C\n";
for (i=0;i<k;i++){
cout<<"c["<<i<<"]="<<c[i];
cout<<"\n";}
cout<<"Rezultaty:\n";
cout<<"X= "<<Y<<"\n Y="<<Y<<"\n L="<<L;
}
Я В Си новичок,а особенно в функциях,по примерах вроде строил код правильно,если неправильно подскажите что не так, а лучше ткните пальцем, сам уже чото непойму=(
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.02.2011, 04:48     трабла кодом(Функция)
Посмотрите здесь:

Трабла с функцией ( C++
C++ трабла с MessageBox
Опять трабла с ответом C++
C++ трабла с выводом строки
Трабла с прогой C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
HighPredator
 Аватар для HighPredator
5342 / 1725 / 320
Регистрация: 10.12.2010
Сообщений: 5,108
Записей в блоге: 3
16.02.2011, 08:46     трабла кодом(Функция) #2
А что собственно сделать требовалось, и что не так работает?
vaik00
0 / 0 / 0
Регистрация: 05.01.2011
Сообщений: 16
16.02.2011, 17:36  [ТС]     трабла кодом(Функция) #3
ошибки в проге а исправить немогу ,
задано векторы а.б.ц. которые имеют элементы м,н,к.вычислить значение Z которое соответствует произведению средних значений положительных и отрицательных элемнтов
Dekio
Фрилансер
Эксперт C++
 Аватар для Dekio
5816 / 1214 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
16.02.2011, 17:46     трабла кодом(Функция) #4
vaik00, для начала
Включите пространство имен std;
C++
1
S1=S1+p[i];
Вы пытаетесь переменной int присвоить значение float
C++
1
2
void z(float p[20],int u)
 X=z(a,n);
Процедуры вроде как не могут возвращать значение.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
16.02.2011, 17:55     трабла кодом(Функция) #5
Цитата Сообщение от Dekio Посмотреть сообщение
Процедуры вроде как не могут возвращать значение.
В С++ как бэ нет понятия "процедура", есть функциия кторая не возвращает никаких значений.

Цитата Сообщение от Dekio Посмотреть сообщение
Включите пространство имен std;
Судя по инклюдам, ТС работает в билдере, где строчки using namespace std; ненадо, для не явного использования елементов вышесказаного пространства имен.
vaik00
0 / 0 / 0
Регистрация: 05.01.2011
Сообщений: 16
19.02.2011, 05:12  [ТС]     трабла кодом(Функция) #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
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
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
#define N 25
void z(float p[N],int n)
  {
    int i,K1,K2;
    float F1,F2,S1,S2;
     S1=0;
     S2=0;
     K1=0;
     K2=0;
      for (i=0;i<n;i++)
      {
       if (p[i]>0)
    {
     S1=S1+p[i];
     K1=K1+1;
    }
       if (p[i]<0)
    {
     S2=S2+p[i];
     K2=K2+1;
    }
       }
     if(K1!=0) F1=S1/K1;
     else F1=1;
     if(K2!=0) F2=S2/K2;
     else F2=1;
     z=F1*F2;
   }
 void main(void)
 {
   float a[N];
   float b[N];
   float c[N];
   int n,m,k,i;
   float X,Y,L;
 
 
clrscr();
cout<<"Vvedit kilkist elementiv A\n";
cin>>n;
clrscr();
 for (i=0;i<n;i++)
 {
  cout<<"a["<<i<<"]=";
  cin>>a[i];
  }
 X=z(a,n);
clrscr();
cout<<"Vvedit kilkist elementiv B\n";
cin>>m;
clrscr();
 for (i=0;i<m;i++)
 {
  cout<<"b["<<i<<"]=";
  cin>>b[i];
  }
 Y=z(b,m);
clrscr();
cout<<"Vvedit kilkist elementiv C\n";
cin>>k;
clrscr();
 for (i=0;i<k;i++)
 {
  cout<<"c["<<i<<"]=";
  cin>>c[i];
  }
clrscr();
L=z(c,k);
clrscr();
cout<<"Laboratorna robota BC-6\n";
cout<<"Funkcii\n";
cout<<"Studnta grupy PIit-10-1\n";
cout<<"Halymendyka V.O.\n";
cout<<"Vector A\n";
for (i=0;i<n;i++)
{
cout<<"a["<<i<<"]="<<a[i];
cout<<"\n";
}
cout<<"Vector B\n";
for (i=0;i<m;i++)
{
cout<<"b["<<i<<"]="<<b[i];
cout<<"\n";
}
cout<<"Vector C\n";
for (i=0;i<k;i++)
{
cout<<"c["<<i<<"]="<<c[i];
cout<<"\n";
}
cout<<"Rezultaty:\n";
cout<<"X= "<<Y<<"\n Y="<<Y<<"\n L="<<L;
}
Немного исправленный код но всё равно выводит 4 ошибки пишу в borland C++ 3.1
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
19.02.2011, 05:47     трабла кодом(Функция) #7
Цитата Сообщение от vaik00 Посмотреть сообщение
Немного исправленный код но всё равно выводит 4 ошибки
Нам предлагается угадать, какие это ошибки?
vaik00
0 / 0 / 0
Регистрация: 05.01.2011
Сообщений: 16
20.02.2011, 15:34  [ТС]     трабла кодом(Функция) #8
1.illegal use of floating point z=F1*F2; строка 30
2-4.not an allowed type выкидует на функции строка 50,60,71

Добавлено через 17 часов 42 минуты
кто нють отзовитесь...
Nameless One
Эксперт С++
 Аватар для Nameless One
5753 / 3402 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
20.02.2011, 15:41     трабла кодом(Функция) #9
Цитата Сообщение от vaik00 Посмотреть сообщение
1.illegal use of floating point z=F1*F2; строка 30
ты, видать, после паскаля на С перешел. Чтобы указать возвращаемое значение функции, нужно использовать оператор return. Присваивать указателю на функцию (z) результат произведения двух чисел (F1 * F2) в С нельзя.

Цитата Сообщение от vaik00 Посмотреть сообщение
2-4.not an allowed type выкидует на функции строка 50,60,71
Функция z у тебя объявлена как void, т.е. она у тебя не возвращает никакого значения. А ты пытаешься присвоить переменным результат ее работы.
Прочитай про синтаксис языка С, в частности, про функции, и глупые вопросы отпадут сами собой
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.02.2011, 17:33     трабла кодом(Функция)
Еще ссылки по теме:

подскажите что с кодом не так? (просуммировать два раза по два столбца, функция) C++
Трабла с кодом C++
C++ Трабла с конструктором

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

Или воспользуйтесь поиском по форуму:
vaik00
0 / 0 / 0
Регистрация: 05.01.2011
Сообщений: 16
20.02.2011, 17:33  [ТС]     трабла кодом(Функция) #10
тоесть void писать не стоит?
Yandex
Объявления
20.02.2011, 17:33     трабла кодом(Функция)
Ответ Создать тему
Опции темы

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