Mam jeszcze zadanie, w którym trzeba zastąpić każdy n-ty średnią arytmetyczną wyrazów n-1 i n+1 (zakładając, że następny po ostatnim jest pierwszy). Zadanie zrobiłem jak poniżej, czy ktoś jednak może mi powiedzieć, co jest tu niezmiennikiem pętli ?
#include <ctime>
using namespace std;
int main(){
int liczba;
srand(time(0));
scanf("%i",&liczba);
float *tab=new float[liczba];
for (int i=0;i<liczba;i++) tab[i]=rand()%10; //losujemy tablicę
system("cls");
for (int i=0;i<liczba;i++) printf("%.1f||",tab[i]);
float temp=tab[liczba-1],pierwsza=tab[0];
float temp2;
for (int i=0;i<liczba-1;i++){ //zamieniamy każdą wartość [n] średnią artytmetyczną [n-1] i [n+1]
temp2=tab[i];
tab[i]=(temp+tab[(i+1)])/2;
temp=temp2;
}
tab[liczba-1]=(pierwsza+temp)/2; //ostatnią trzeba zmienić osobno, bo tab[0] już jest inne
cout <<endl<<endl;
for (int i=0;i<liczba;i++) printf("%.1f||",tab[i]);
system("pause");
}