Witam! jestem studentem informatyki i potrzebuje waszej pomocy odnosnie programu zaliczeniowego.Było by miło gdyby ktoś mógł zerknąć czy wszystko dobrze zrobiłem,oraz pomógł mi w poprawieniu funkcji wypisującej ostatni nieparzysty element ciagu (nie zawsze działa).Z góry uprzedzam że programowanie nie jest moją najmocniejsza strona oraz dziękuje za ewentualną pomoc.
Poleceni brzmi: http://postimg.org/image/d5i9f1awn/
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
const int N=1000;
int automatycznie(int a[],int n);
int losuj(int a[], int n);
int wczytaj_z_klawiatury(int a[], int n);
int sprawdzaj(int a[],int n);
void ostatni(int a[], int n);
int main()
{
int a[N],n,x;
cout<<"podaj liczbe elementow n (n<="<<N<<") ciag liczb: " ;cin>>n;
char decyzja;
cout<<"podaj sposob generowania danych (a-automatycznie , b- losowo, c-z klaw):";cin>>decyzja;
switch(decyzja)
{
case 'a': automatycznie(a,n);
break;
case 'b': losuj(a,n);
break;
case 'c': wczytaj_z_klawiatury(a,n);
break;
default: cout<<"zly wybor (a,b,c)"; break;
}
if(sprawdzaj(a,n))
{
cout<<"Ciag liczb spelnia warunek"<<endl;
}
else{cout<<"Ciag liczb nie spelnia warunku"<<endl;}
ostatni(a,n);
}
//Funkcja automatycznie generujaca ciag o podanych wlasciwosciach
int automatycznie(int a[],int n)
{
int x=0;
cout<<"Automatycznie wypelniony ciag o szukanych wlasciowosciach!"<<endl;
srand(unsigned(time(0)));
a[0]=rand()%N;
a[1]=rand()%N;
for(int i=2;i<=n-1;i++)
{
a[i]=a[i-1]+a[i-2];
}
for(int i=0;i<n;i++)
{
x=x+1;
cout<<"a["<<x<<"]="<<a[i]<<endl;
}
}
//Funkcja losujaca podany ciag
int losuj(int a[], int n)
{
srand(unsigned(time(0)));
for(int i=0;i<n;i++)
{
a[i]=rand()%N;
cout<<endl<<"a["<<i<<"]="<<a[i]<<endl;
}
}
//Wczytywanie z klawiatury
int wczytaj_z_klawiatury(int a[], int n)
{
for(int i=0;i<n;i++)
{
cout<<"podaj a["<<i<<"]=";
cin>>a[i];
}
}
//Sprawdzanie zaleznosci
int sprawdzaj(int a[],int n)
{
for(int i=2;i<=n;i++)
{
if(a[i]>=a[i-1]+a[i-2])
{
return 1;
}
else{return 0;}
}
}
//Ostatni nieparzysty element
void ostatni(int a[], int n)
{
int ostatni=0;
for(int i=0;i<=n;i++)
{
if(a[i]%2!=0)
{
ostatni=i;
}
}
cout<<endl<<"ostatni nieparzysty element to: a["<<ostatni<<"]";
}