Scrieți definiția completă unui subprogram C++ care returnează suma elementelor unui tablou unidimensional cu indici din afara unui interval dat.
Răspunsuri la întrebare
Răspuns de
7
Am studit toate cazurile (sper eu...) in functie de a si b.
codul:
#include<iostream>
using namespace std;
void suma(int v[100],int n,int a,int b)
{
int i,s=0;
if(a<0 && b<0 || a>n && b>n)
{ for(i=0;i<n;i++)
s=s+v[i];
cout<<s;
}
if(a<0 && b<n && b>=0)
{ for(i=b+1;i<n;i++)
s=s+v[i];
cout<<s;
}
if(a<n && a>=0 && b>n)
{ for(i=a+1;i<n;i++)
s=s+v[i];
cout<<s;
}
if(a>=0 && a<n && b>=0 && b<n)
{for(i=0;i<a;i++)
s=s+v[i];
for(i=b+1;i<n;i++)
s=s+v[i];
cout<<s;}
}
int main()
{ int v[100],i,n,a,b;
cin>>n;
for(i=0;i<n;i++)
cin>>v[i];
cout<<"Capat interval:";cin>>a;
cout<<"Capat interval:";cin>>b;
suma(v,n,a,b);
}
codul:
#include<iostream>
using namespace std;
void suma(int v[100],int n,int a,int b)
{
int i,s=0;
if(a<0 && b<0 || a>n && b>n)
{ for(i=0;i<n;i++)
s=s+v[i];
cout<<s;
}
if(a<0 && b<n && b>=0)
{ for(i=b+1;i<n;i++)
s=s+v[i];
cout<<s;
}
if(a<n && a>=0 && b>n)
{ for(i=a+1;i<n;i++)
s=s+v[i];
cout<<s;
}
if(a>=0 && a<n && b>=0 && b<n)
{for(i=0;i<a;i++)
s=s+v[i];
for(i=b+1;i<n;i++)
s=s+v[i];
cout<<s;}
}
int main()
{ int v[100],i,n,a,b;
cin>>n;
for(i=0;i<n;i++)
cin>>v[i];
cout<<"Capat interval:";cin>>a;
cout<<"Capat interval:";cin>>b;
suma(v,n,a,b);
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Informatică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Spaniola,
9 ani în urmă
Matematică,
9 ani în urmă