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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
Jony Wocker
45 / 45 / 2
Регистрация: 19.11.2009
Сообщений: 362
#1

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

14.04.2010, 22:24. Просмотров 1428. Ответов 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;
}
//---------------------------------------------------------------------------
Миниатюры
Найти среднее арифметическое количеств положительных, кратных 5 элементов массивов  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2010, 22:24     Найти среднее арифметическое количеств положительных, кратных 5 элементов массивов
Посмотрите здесь:

C++ Найти среднее арифметическое элементов, меньших некоторого р.Не используя массивов!!!
Найти среднее арифметическое положительных элементов массива C++
C++ Найти среднее арифметическое элементов, кратных 3, для каждого столбца матрицы
Найти среднее арифметическое положительных элементов массива (a1,a2,…,aN) C++
Найти среднее арифметическое модулей кратных пяти элементов массива, расположенных после максимального элемента C++
Найти среднее арифметическое чисел положительных элементов ряда C++
Найти среднее арифметическое модулей кратных пяти элементов массива, расположенных после максимального элемента C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Roma_F
331 / 246 / 5
Регистрация: 13.12.2009
Сообщений: 589
15.04.2010, 00:09     Найти среднее арифметическое количеств положительных, кратных 5 элементов массивов #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();
}
Jony Wocker
45 / 45 / 2
Регистрация: 19.11.2009
Сообщений: 362
15.04.2010, 08:00  [ТС]     Найти среднее арифметическое количеств положительных, кратных 5 элементов массивов #3
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
15.04.2010, 09:31     Найти среднее арифметическое количеств положительных, кратных 5 элементов массивов #4
там у тебя кавычек нет в 24 и 29 строках второго кода
Jony Wocker
45 / 45 / 2
Регистрация: 19.11.2009
Сообщений: 362
15.04.2010, 16:58  [ТС]     Найти среднее арифметическое количеств положительных, кратных 5 элементов массивов #5
Странно. Наверно забыл сохранить исправления)
Jony Wocker
45 / 45 / 2
Регистрация: 19.11.2009
Сообщений: 362
18.04.2010, 13:25  [ТС]     Найти среднее арифметическое количеств положительных, кратных 5 элементов массивов #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;}
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
19.04.2010, 04:55     Найти среднее арифметическое количеств положительных, кратных 5 элементов массивов #7
Цитата Сообщение от Jony Wocker
//Что ему здесь не нравится?
логарифм нуля, типа e в какой-то степени равно нулю
Jony Wocker
45 / 45 / 2
Регистрация: 19.11.2009
Сообщений: 362
19.04.2010, 08:39  [ТС]     Найти среднее арифметическое количеств положительных, кратных 5 элементов массивов #8
ln(0.1i)
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
19.04.2010, 09:55     Найти среднее арифметическое количеств положительных, кратных 5 элементов массивов #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);
Roma_F
331 / 246 / 5
Регистрация: 13.12.2009
Сообщений: 589
19.04.2010, 11:31     Найти среднее арифметическое количеств положительных, кратных 5 элементов массивов #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"?)
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
20.04.2010, 08:08     Найти среднее арифметическое количеств положительных, кратных 5 элементов массивов #11
return 0 там правильно, так как функция возвращает int
на C++ вроде можно его не ставить, но это не значит, что так и надо делать
Roma_F
331 / 246 / 5
Регистрация: 13.12.2009
Сообщений: 589
20.04.2010, 22:07     Найти среднее арифметическое количеств положительных, кратных 5 элементов массивов #12
Цитата Сообщение от accept Посмотреть сообщение
return 0 там правильно, так как функция возвращает int
это то понятно, компилятор даже выдаст warning (в билдере) если убрать эту строчку
я имел в виду логическую сторону вопроса - зачем эта функция возвращает int
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.04.2010, 20:45     Найти среднее арифметическое количеств положительных, кратных 5 элементов массивов
Еще ссылки по теме:

Одномерные массивы (найти среднее арифметическое всех элементов массивов) C++
Найти среднее арифметическое положительных кратных трем элементов массива, расположенных до минимального элемента C++
Найти среднее арифметическое всех положительных элементов матрицы C++
C++ Найти среднее арифметическое положительных элементов вектора
C++ Найти среднее арифметическое положительных элементов вектора X

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

Или воспользуйтесь поиском по форуму:
Jony Wocker
45 / 45 / 2
Регистрация: 19.11.2009
Сообщений: 362
21.04.2010, 20:45  [ТС]     Найти среднее арифметическое количеств положительных, кратных 5 элементов массивов #13
В данный момент.
Только бы работало.
void не привык использовать.
Yandex
Объявления
21.04.2010, 20:45     Найти среднее арифметическое количеств положительных, кратных 5 элементов массивов
Ответ Создать тему
Опции темы

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