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

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

14.04.2010, 22:24. Просмотров 1763. Ответов 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 элементов массивов  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.04.2010, 22:24
Ответы с готовыми решениями:

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

Найти среднее арифметическое в целочисленном массиве, среди кратных трем положительных элементов
program Project4; {$APPTYPE CONSOLE} uses SysUtils; var a:array of integer; ...

Из элементов матрицы, кратных 3, создать вектор и определить среднее арифметическое положительных элементов
Дан массив: uses crt; Type Mas = array of integer; Var A, B : Mas; i,j:integer; begin...

Найдите среднее арифметическое положительных элементов массива кратных первому
Дан массив из n элементов. Каждый элемент может принимать целочисленные значения от -100 до 100....

12
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
45 / 45 / 3
Регистрация: 19.11.2009
Сообщений: 362
15.04.2010, 08:00  [ТС] 3
0
4848 / 3269 / 466
Регистрация: 10.12.2008
Сообщений: 10,569
15.04.2010, 09:31 4
там у тебя кавычек нет в 24 и 29 строках второго кода
1
45 / 45 / 3
Регистрация: 19.11.2009
Сообщений: 362
15.04.2010, 16:58  [ТС] 5
Странно. Наверно забыл сохранить исправления)
0
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
4848 / 3269 / 466
Регистрация: 10.12.2008
Сообщений: 10,569
19.04.2010, 04:55 7
Цитата Сообщение от Jony Wocker
//Что ему здесь не нравится?
логарифм нуля, типа e в какой-то степени равно нулю
0
45 / 45 / 3
Регистрация: 19.11.2009
Сообщений: 362
19.04.2010, 08:39  [ТС] 8
ln(0.1i)
0
4848 / 3269 / 466
Регистрация: 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
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
4848 / 3269 / 466
Регистрация: 10.12.2008
Сообщений: 10,569
20.04.2010, 08:08 11
return 0 там правильно, так как функция возвращает int
на C++ вроде можно его не ставить, но это не значит, что так и надо делать
0
332 / 247 / 32
Регистрация: 13.12.2009
Сообщений: 589
20.04.2010, 22:07 12
Цитата Сообщение от accept Посмотреть сообщение
return 0 там правильно, так как функция возвращает int
это то понятно, компилятор даже выдаст warning (в билдере) если убрать эту строчку
я имел в виду логическую сторону вопроса - зачем эта функция возвращает int
0
45 / 45 / 3
Регистрация: 19.11.2009
Сообщений: 362
21.04.2010, 20:45  [ТС] 13
В данный момент.
Только бы работало.
void не привык использовать.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.04.2010, 20:45

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Найти среднее арифметическое, кратных 5 и кратных 3 элементов массива
В массиве A найти среднее арифметическое, кратных 5 и кратных 3 элементов массива.

Подсчитать среднее арифметическое положительных элементов массива, кратных его первому элементу
Дан массив из 30 элементов. Каждый элемент может принимать целочислцелочисленные значения от -100...

Среднее арифметическое положительных кратных пяти элементов массива, расположенных до минимального элемента
Можете помочь, прорамма выводит неверное ср. арифметическое private void...

Найти среднее арифметическое положительных и среднее арифметическое отрицательных элементов массива.
Дан массив вещественных чисел А(А1,А2,…,Аn). Найти среднее арифметическое положительных и среднее...


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

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

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