Mam do napisania program, który w kolejnych N iteracjach wygeneruje K elementowy wiersz (zawierający 1 lub 0) na podstawie wiersza z poprzedniej iteracji.
Chodzi o to zeby kazdy element danego wiersza zalezal od trzech elementow poprzedniego wiersza.
Np. jeśli 1., 2. i 3. element wiersza poprzedniego po dodaniu dadza 2 lub 3 to 1. element otrzymanego wiersza da "1". W innym wypadku da "0".
Mam już napisany jeden kod:
#include <iostream>
#include <cmath>
#include<iomanip>
using namespace std;
int main()
{
const int NMAX=100;
int a, b, n,k , suma=0;
int ak[NMAX], akn[NMAX];
cout<<"Podaj ilu elementowy ma byc wektor (0 lub 1), mniejsze niz "<<NMAX<<"):"; cin>>a;
for (n=0; n<a; ++n)
{
cout<<"podaj "<<n+1<<" liczbe: ";cin>>ak[n];
}
for (n=0; n<a; ++n)
{
cout<<ak[n]<<" ";
}
cout<<endl;
for (k=0; k<5; ++k)
{
for (n=0; n<a; ++n)
{
if(n!=0 && n!=a-1)
suma=ak[n]+ak[n-1]+ak[n+1];
if(n==0)
suma=ak[0]+ak[1]+ak[a-1];
if(n==a-1)
suma=ak[0]+ak[a-2]+ak[a-1];
if(suma>1)
akn[n]=1;
else
akn[n]=0;
}
for (n=0; n<a; ++n)
{
cout<<akn[n]<<" ";
ak[n]=akn[n];
}
cout<<endl;
}
system("pause");
return 0;
}
Ale ten kod wyznacza element nowego wektora na podstawie 3 elementow
Celem jest, żeby element nowego wektora wyznaczany byl na podstawie 'dowolnej nieparzystej liczby elementow'.
Myślałem, kombinowałem i nie wiem jak to napisać.
Może program ma sie pytac ile elementow uwzglednic przy tworzeniu nowego wektora??