Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Jony Wocker
45 / 45 / 3
Регистрация: 19.11.2009
Сообщений: 362
#1

Найти среднее арифметическое количеств положительных, кратных 5 элементов массивов

14.04.2010, 22:24. Просмотров 1535. Ответов 12
Метки нет (Все метки)

Посмотрите пожалуйста.
Может, что то изменить нужно.
Потому что некоторые задачи писал, так чтоб хотя бы просто запустились.

Использование подпрограмм для решения задач

1.Найти среднее арифметическое количеств положительных, кратных 5 элементов массивов А, В, С.
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 <math.h>
#include <stdlib.h>
#include <vcl.h>
//--------------------------------------
int kol(const int *mas,const int m);
int vvod(int *mas,const int m);
int const n=10,p=15,z=20;
float s;
int main()
{
int a[n],b[p],c[z],k;
randomize();
cout<<"Massiv A:\n";
 vvod(a,n);
cout<<"\n\nMassiv B:\n";
 vvod(b,p);
cout<<"\n\nMassiv C:\n";
 vvod(c,z);
 
k=kol(a,n)+kol(b,p)+kol(c,z);
cout<<"Sr.Arefm="<<s/k<<endl;
getch();return 0;
}
int kol(const int *mas,const int m)
{int kl=0,i;
 for(i=0;i<m;i++)
 if(mas[i]>0 && mas[i]%5==0) {kl++; s+=mas[i];}
 return kl;}
 
int vvod(int *mas, const int m)
{int i;
   cout<<"[ ";
 for(i=0;i<m;i++)
{mas[i]=random(75)-20;
 cout<<mas[i]<<" ";}
   cout<<" ]";
 cout<<endl;
 return 0;
}
//------------------------------------------------
2.Даны массивы X(8), Y(8), Z(10), W(15), элементы которых определяются по формулам:МИНИАТЮРЫ

a1=5,a2=7,b1=10,b2=3,c1=4,c2=9,d1=7,d2=8;
Сформировать массив из суммы отрицательных элементов массивов X, Y, W. Найти максимальную сумму.

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
//---------------------------------------------------------------------------
#include <vcl.h>
#include <math.h>
#include <conio.h>
#include <stdlib.h>
#include <iostream.h>
//---------------------------------------------------------------------------
int sum(const int *mas,const int m);
int main()
{const int v=8,d=10,p=15;
double a1=5,a2=7,b1=10,b2=3,c1=4,c2=9,d1=7,d2=8;
int x[v],y[v],z[d],w[p],i;
randomize();
 cout<<"Massiv X:\n";
  for(i=0;i<v;i++)
   {x[i]=a1*pow(i,2)-a2*(5-i);
    cout<<x[i]<<" ";
    }
 cout<<"\nMassiv Y:\n";
  for(i=0;i<v;i++)
   {y[i]=b1*sin(2*i)+b2*exp(i-5);
    cout<<y[i]<<" ";
    }
 cout<<"\nMassiv Z:\n;
  for(i=0;i<d;i++)
   {z[i]=c1*(i-4)+c2*pow(sin(1.5*i),2);
    cout<<z[i]<<" ";
    }
 cout<<"\nMassiv W:\n;
  for(i=0;i<p;i++)
   {w[i]=d1*log(0.1*i)+d2*pow(cos(i-2.5),3));
    cout<<w[i]<<" ";
    }
 
    getch();        return 0;
}
int sum(const int *mas,const int m)
 {int s=0,i,k=0;
 for(i=0;i<m;i++)
  if (mas[i]<0) {s+=mas[i];k++;}
  if (k==0) cout<<"\n\aNenaideno";
  return s;
}
//---------------------------------------------------------------------------
3.Для заданных А и В (A<B) и последовательности целых чисел определите количество чисел, которые принадлежат интервалам
[-∞,A], [A,B], [B,+∞].

Не выводит...
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
//---------------------------------------------------------------------------
#include <iomanip.h>
#include <vcl.h>
#include <conio.h>
#include <iostream.h>
//---------------------------------------------------------------------------
int main()
{const int n=100;
int a[n],i;
int n1=0,n2=0,n3=0;
int A,B;
cout<<"Vvedite A: "; cin>>A;
cout<<"\nVvedite B: "; cin>>B;
cout<<"\n\nMassiv a:\n";
for (i=0;i<n;i++)
 {a[i]=random(400)-143;
  cout<<a[i]<<"  ";}
{
if (a[i]<A) n1++;
 else if (a[i]>B) n3++;
else n2++;
}
cout<<"\n-be,A: "<<n1<<"\nA,B: "<<n2<<"\nB,+be: "<<n3;
getch();        return 0;
}
//---------------------------------------------------------------------------
0
Миниатюры
Найти среднее арифметическое количеств положительных, кратных 5 элементов массивов  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2010, 22:24
Ответы с готовыми решениями:

Найти среднее арифметическое положительных кратных трем элементов массива, расположенных до минимального элемента
Привет всем помогите с задачей на С++. Найти среднее арифметическое...

Найти среднее арифметическое элементов, кратных 3, для каждого столбца матрицы
матрица n*m

Найти среднее арифметическое положительных элементов вектора X
Найти среднее арифметическое положительных элементов вектора X, имеющих четный...

Найти среднее арифметическое положительных элементов вектора
Найти среднее арифметическое положительных элементов вектора X, имеющих четный...

Найти среднее арифметическое положительных элементов массива
1) Найти среднее арифметическое положительных элементов массива. Массив...

12
Roma_F
332 / 247 / 32
Регистрация: 13.12.2009
Сообщений: 589
15.04.2010, 00:09 #2
3.Для заданных А и В (A<B) и последовательности целых чисел определите количество чисел, которые принадлежат интервалам
[-∞,A], [A,B], [B,+∞].

Не выводит...
а я тогда подумал что уже работает )

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
void Func (double *mas, int count, int a, int b, int &n1, int &n2, int &n3)
{
    n1 = 0;
    n2 = 0;
    n3 = 0;
    for (int i = 0; i < count; i++)
    {
        if (mas[i] < a) n1++;
        else if (mas[i] > b) n3++;
        else n2++;
    }
}
 
int main()
{
    const int count = 5;
    double mas[count];
    int n1, n2, n3, a=0, b=0;
 
    for (int i=0; i<count; i++)
    {
        cout << "m[" << i+1 << "] = ";
        cin >> mas[i];
    }
    cout << "A = ";
    cin >> a;
    cout << "B = ";
    cin >> b;
 
    Func (mas, count, a, b, n1, n2, n3);
    cout << "[~,A] - " << n1 << endl;
    cout << "[A,B] - " << n2 << endl;
    cout << "[B,~] - " << n3 << endl;
 
    getch();
}
1
Jony Wocker
45 / 45 / 3
Регистрация: 19.11.2009
Сообщений: 362
15.04.2010, 08:00  [ТС] #3
0
accept
4833 / 3255 / 454
Регистрация: 10.12.2008
Сообщений: 10,569
15.04.2010, 09:31 #4
там у тебя кавычек нет в 24 и 29 строках второго кода
1
Jony Wocker
45 / 45 / 3
Регистрация: 19.11.2009
Сообщений: 362
15.04.2010, 16:58  [ТС] #5
Странно. Наверно забыл сохранить исправления)
0
Jony Wocker
45 / 45 / 3
Регистрация: 19.11.2009
Сообщений: 362
18.04.2010, 13:25  [ТС] #6


Добавлено через 56 минут
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
//-------------------------------------
#include <iostream>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
#include <vcl.h>
//--------------------------------------
int sum(const int *mas,const int m);
int kol(const int *mas,const int m);
int vvod(int *mas,const int m);
int const n=10,p=15,z=20;
float s1,s2,s3,s4;
int main()
{
int a[n],b[p],c[z];
int k,k1,k2,k3;
randomize();
cout<<"Massiv A:\n";
 vvod(a,n);
cout<<"\n\nMassiv B:\n";
 vvod(b,p);
cout<<"\n\nMassiv C:\n";
 vvod(c,z);
 
 cout<<"\n--------------------";
 k=kol(a,n)+kol(b,p)+kol(c,z);
 s1=sum(a,n)+sum(b,p)+sum(c,z);
 cout<<"\nObsh. Sr.Arefm="<<s1/k<<endl;
 
 cout<<"--------------------";
 s2=sum(a,n); k1=kol(a,n);
 cout<<"\nSr.Arefm A: "<<s2/k1<<endl;
 
 cout<<"--------------------";
 s3=sum(b,p); k2=kol(b,p);
 cout<<"\nSr.Arefm B: "<<s3/k2<<endl;
 
 cout<<"--------------------";
 s4=sum(c,z); k3=kol(c,z);
 cout<<"\nSr.Arefm C: "<<s4/k3<<endl;
 cout<<"====================";
 
getch();return 0;
}
int sum(const int *mas,const int m)
{int i;
 float s=0;
 for(i=0;i<m;i++)
 if(mas[i]>0 && mas[i]%5==0) s+=mas[i];
 return s;}
 
int kol(const int *mas,const int m)
{int k=0,i;
 for(i=0;i<m;i++)
 if(mas[i]>0 && mas[i]%5==0) k++;
 if (k==0) cout<<"\nNenaidno";
 return k;}
 
int vvod(int *mas, const int m)
{int i;
   cout<<"[ ";
 for(i=0;i<m;i++)
{mas[i]=random(75)-20;
 cout<<mas[i]<<" ";}
   cout<<" ]";
 cout<<endl;
 return 0;
}
//------------------------------------------------
И зачем было так глупо переименовывать тему.

Добавлено через 34 минуты
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
//---------------------------------------------------------------------------
#include <vcl.h>
#include <math.h>
#include <conio.h>
#include <stdlib.h>
#include <iostream.h>
//---------------------------------------------------------------------------
int sum(const int *mas,const int m);
int main()
{const int v=8,d=10,p=15;
double a1=5,a2=7,b1=10,b2=3,c1=4,c2=9,d1=7,d2=8;
int max=-500;
int x[v],y[v],z[d],w[p],c[3],i;
randomize();
 cout<<"Massiv X:\n";
  for(i=0;i<v;i++)
   {x[i]=a1*pow(i,2)-a2*(5-i);
    cout<<x[i]<<" ";
    }
 cout<<"\nMassiv Y:\n";
  for(i=0;i<v;i++)
   {y[i]=b1*sin(2*i)+b2*exp(i-5);
    cout<<y[i]<<" ";
    }
 cout<<"\nMassiv Z:\n";
  for(i=0;i<d;i++)
   {z[i]=c1*(i-4)+c2*pow(sin(1.5*i),2);
    cout<<z[i]<<" ";
    }
 cout<<"\nMassiv W:\n";
  for(i=0;i<p;i++)
   {w[i]=d1*log(0.1*i)+d2*pow(cos(i-2.5),3);  //Что ему здесь не нравится? Пишет: log: SING error 
    cout<<w[i]<<" ";
    }
   cout<<"\n\nMassiv sf:\n";
   for(i=0;i<3;i++)
{c[0]=sum(x,v);   //Особенно заполнение нового массива :)
c[1]=sum(y,v);
c[2]=sum(w,p);
cout<<c[i]<<" ";}
 for(i=0;i<3;i++)
 if (c[i]>max) max=c[i];
cout<<"\nMAX SUM: "<<max;
 
    getch();        return 0;
}
int sum(const int *mas,const int m)
 { int s=0,i;
 for(i=0;i<m;i++)
  if (mas[i]<0) s+=mas[i];
  if (s==0) cout<<"\n\aNenaideno";
  return s;
}
//---------------------------------------------------------------------------
Добавлено через 1 час 5 минут
Roma_F,
А можно как то без
C++
1
int &n1, int &n2, int &n3
У меня не получается. Не знаю почему.
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
//---------------------------------------------------------------------------
#include <iomanip.h>
#include <vcl.h>
#include <conio.h>
#include <iostream.h>
//---------------------------------------------------------------------------
int Func (const int *mas, int m, int a, int b);
int main()
{const int n=5;
int q[n],i;
int n1,n2,n3,a=0,b=0;
 
for(i=0;i<n;i++)
{cout<<"q["<<i+1<<"]=";
 cin>>q[i];
}
cout<<"A= ";
cin>>a;
cout<<"B= ";
cin>>b;
 
Func (q,n,a,b);
cout<<"[~,A]- "<<n1<<endl;
cout<<"[A,B]- "<<n2<<endl;
cout<<"[B,~]- "<<n3<< endl;
 
getch(); return 0;
}
int Func (const int *mas, int m, int a, int b)
{
int n1=0,n2=0,n3=0;
int i;
for(i=0;i<m;i++)
{
if (mas[i]<a) n1++;
else if (mas[i]>b) n3++;
else n2++;}
return 0;}
0
accept
4833 / 3255 / 454
Регистрация: 10.12.2008
Сообщений: 10,569
19.04.2010, 04:55 #7
Цитата Сообщение от Jony Wocker
//Что ему здесь не нравится?
логарифм нуля, типа e в какой-то степени равно нулю
0
Jony Wocker
45 / 45 / 3
Регистрация: 19.11.2009
Сообщений: 362
19.04.2010, 08:39  [ТС] #8
ln(0.1i)
0
accept
4833 / 3255 / 454
Регистрация: 10.12.2008
Сообщений: 10,569
19.04.2010, 09:55 #9
ну, i равно нулю

C++
1
2
for(i=0;i<p;i++)
   {w[i]=d1*log(0.1*i)+d2*pow(cos(i-2.5),3);
0
Roma_F
332 / 247 / 32
Регистрация: 13.12.2009
Сообщений: 589
19.04.2010, 11:31 #10
Цитата Сообщение от Jony Wocker Посмотреть сообщение
Roma_F,
А можно как то без
зачем?
можно передавать ссылку на массив из трёх элементов

эта функция
C++
1
2
3
4
5
6
7
8
9
10
int Func (const int *mas, int m, int a, int b)
{
int n1=0,n2=0,n3=0;
int i;
for(i=0;i<m;i++)
{
if (mas[i]<a) n1++;
else if (mas[i]>b) n3++;
else n2++;}
return 0;}
никак не связана с "внешним миром" и бесполезна для программы
n1, n2 и n3 считаются в пустую
(и зачем кстати "return 0"?)
0
accept
4833 / 3255 / 454
Регистрация: 10.12.2008
Сообщений: 10,569
20.04.2010, 08:08 #11
return 0 там правильно, так как функция возвращает int
на C++ вроде можно его не ставить, но это не значит, что так и надо делать
0
Roma_F
332 / 247 / 32
Регистрация: 13.12.2009
Сообщений: 589
20.04.2010, 22:07 #12
Цитата Сообщение от accept Посмотреть сообщение
return 0 там правильно, так как функция возвращает int
это то понятно, компилятор даже выдаст warning (в билдере) если убрать эту строчку
я имел в виду логическую сторону вопроса - зачем эта функция возвращает int
0
Jony Wocker
45 / 45 / 3
Регистрация: 19.11.2009
Сообщений: 362
21.04.2010, 20:45  [ТС] #13
В данный момент.
Только бы работало.
void не привык использовать.
0
21.04.2010, 20:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.04.2010, 20:45

Найти среднее арифметическое положительных элементов массива (a1,a2,…,aN)
Найти среднее арифметическое положительных элементов массива (a1,a2,…,aN)....

Найти среднее арифметическое положительных элементов массива
Найти среднее арифметическое положительных элементов массива С(25); Знайти...

Найти среднее арифметическое положительных элементов файла
Дан уже заполненный файл, представляющий из себя числовую последовательность,...


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

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

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