функции

  • Автор темы hijack
  • Дата начала
Статус
Закрыто для дальнейших ответов.
H

hijack

#1
помогите разобраться с функциями.
надо написать функции вычисления:
1.суммы элементов одномерного массива с нечетными номерами (точка возврата)
2.суммы элементов массива, значения которых находятся в диапазоне от k до 2k (возврат через параметр)
3.первого элемента массива, кратного заданному k (вернуть указатель на него). k вводится с клавиатуры. заранее спасибо
 
G

gamecreator

#2
в этом и самому можно разобраться (конечно только если ты не учишься ради бумажки)
1)
Код:
int oddsum(int* array, int n)
{
int sum=0, i;
for(i=0;i<n;i+=2) sum+=array[i];
return sum;
}

void rangesum(int* array, int n, int k, int &sum)
{
int i;
for(i=0, sum=0;i<n;i++) if(array[i]>=k && array[i]<=2*k)sum+=array[i];
return sum;
}

int* search(int* array, int n, int k)
{
int i;
for(i=0;i<n;i++) if(array[i]%k==0) return &array[i];
return NULL;
}
 
B

Blackheart1983

#3
помогите разобраться с функциями.
надо написать функции вычисления:
1.суммы элементов одномерного массива с нечетными номерами (точка возврата)
2.суммы элементов массива, значения которых находятся в диапазоне от k до 2k (возврат через параметр)
3.первого элемента массива, кратного заданному k (вернуть указатель на него). k вводится с клавиатуры. заранее спасибо
Код:
int sumNechet(const int *mas,int count)//суммы элементов одномерного массива с нечетными номерами (точка возврата)
{
int sum(0);
for(int i=0;i<count;i++)
if(i%2==0)sum+=mas[i];
return sum;
}
//2.суммы элементов массива, значения которых находятся в диапазоне от k до 2k (возврат через параметр)
int kk(const int *mas2,int k,int k2,int count)
{
int sum(0);
for(int i=0;i<count;i++)
if((mas2[i]>k) && (mas2[i]<k2))sum+=mas2[i];
return sum;
}
//3.первого элемента массива, кратного заданному k (вернуть указатель на него). k вводится с клавиатуры. 
const int *poi(const int*mas,int kratnoe,int count)
{
for(int i=0;i<count;i++)
if(kratnoe>0)
if((mas[i])%kratnoe==0)
return &mas[i];
std::cout<<" net kratnih elementov=="<<kratnoe;
return 0;
}
int main(int argc,char *argv[])
{
using namespace std;
int a[10];
for(int i=1;i<sizeof(a)/4;i++)
a[i]=i;
a[0]=9;
cout<<*poi(a,2,sizeof(a)/4)<<endl;//пример использования
cin>> a[0];

return 1;
}
Модератор: используй теги кода
 
H

hijack

#4
Blackheart1983 мне надо чтобы все результаты вычисления функций выводились в консоль. как их подключить в мэйн? в общем надо чтобы все вводилось и выводилось = ) k вводилось. и элементы массива рандомные были
 
B

Blackheart1983

#5
Blackheart1983 мне надо чтобы все результаты вычисления функций выводились в консоль. как их подключить в мэйн? в общем надо чтобы все вводилось и выводилось = ) k вводилось. и элементы массива рандомные были
перед мэйном напиши те функции что я писал сверху а перед ними допиши #include <iostream>
Код:
int main(int argc,char *argv[])//вот пример мэйна 
{
using namespace std;
int a[10];
for(int i=0;i<sizeof(a)/4;i++)
a[i]=(((double) rand() / (double) RAND_MAX) * 300 + 3);//рандом от 3 до 300
//суммы элементов одномерного массива с нечетными номерами (точка возврата)
cout<<"sum s nechetnimi nomerami== "<<sumNechet(a,sizeof(a)/4)<<endl;
//первого элемента массива, кратного заданному k (вернуть указатель на него). k вводится с клавиатуры.
cout<<"vvedite k ";
int k(0);
cin>>k;
cout<<"\nukazatel =="<<poi(a,k,sizeof(a)/4)<<"\tznachenie elementa =="<<*poi(a,2,sizeof(a)/4)<<endl;
//суммы элементов массива, значения которых находятся в диапазоне от k до 2k (возврат через параметр)
cout<<endl<<"sum diapazon =="<<kk(a,10,28,sizeof(a)/4);// от 10 до 28 диапазон надо будет поменяй
cin>> a[0];
return NULL;
}
 
Статус
Закрыто для дальнейших ответов.