#include #include #include using namespace std; /**pour compiler g++ 'app5h.cpp' -std=c++11 -Wall -Wextra -o 'joapp5h' ********************/ // version app5a nous changeons la forme de l'inertie que sur le pt haut onde 1 int main() { string const construit("audio.jo"); ofstream ici(construit.c_str()); int tab[830], tab1[4],j1,j2; // tableau plus grand a cause ecriture over flow for(int j=0; j<4; j++) { cout << "Tapez 4 valeurs.(1-pt haut onde 1)(2-hauteur des ondes)(3-pt haut onde 2)(4-k7) " << j << " : "; cin >> tab1[j]; } if (tab1[1] < 30){tab1[1] = 30;} for(int i=0; i<800; i++) {tab[i] = 128;}// je remplis les cases du tableau utile for(int i=1; i<800;i=i+2){ tab[i] = 2;}// tous les plateaux de crete sont mis a 2 j1=1; j2=1; for(int i=0; i<800;i=i+32) { tab[i] = tab[22]-tab1[1]+j1;if (j1>10){j2=2;};if (j1 <2){j2=1;};if (j2 ==2){j1--;}; if (j2 ==1){j1++;j1++;}; if (tab[(32+i)] >tab[(30+i)]-1){tab[(32+i)] =tab[(30+i)]-1;} ; if (tab[i] <5){tab[i] = 5;} } // point bas onde 1 /*******************************/ for(int i=2; i<800;i=i+32) { tab[i] = tab[(0+i)]+1;} // point echo onde 1 for(int i=4; i<800;i=i+32) { tab[i] = tab[(2+i)]-1;} /********************************/ j1=1; j2=1; for(int i=6; i<800;i=i+32) { tab[i]= (4*(tab1[0]))+128+j1;if (j1 >22){j2=2;};if (j1 <2){j2=1;};if (j2 ==2){j1--;}; if (j2 ==1){j1++;j1++;j1++;}; if (tab[i] 250){tab[i] = 250;} } // point haut onde 1 j1=1; j2=1; for(int i=8; i<800;i=i+32) { tab[i]= ((tab[(6+i)]) -(tab1[1]))+j1;if (j1 >5){j2=2;};if (j1 <2){j2=1;};if (j2 ==2){j1--;}; if (j2 ==1){j1++;}; if (tab[i]>tab[(6+i)]-1){tab[i]=tab[(6+i)]-1;};if (tab[i] < 5){tab[i] = 5;} } // point bas onde 2 j1=1; j2=1; for(int i=10; i<800;i=i+32) { tab[i]= (3*(tab1[2]))+128;if (j1>10){j2=2;};if (j1 <2){j2=1;};if (j2 ==2){j1--;}; if (j2 ==1){j1++;};if (tab[i] 250){tab[i] = 250;} } //point haut onde 2 j1=1; j2=1; for(int i=12; i<800;i=i+32) { tab[i]= tab[(10+i)] -tab1[1];if (j1>10){j2=2;};if (j1 <2){j2=1;};if (j2 ==2){j1--;}; if (j2 ==1){j1++;}; if (tab[i]>tab[(10+i)]-1){tab[i]=tab[(10+i)]-1;};if (tab[i] < 5){tab[i] = 5;} } // point bas j1=1; j2=1; for(int i=14; i<800;i=i+32) { tab[i]= (3*tab1[0])+128+j1;if (j1>10){j2=2;};if (j1 <2){j2=1;};if (j2 ==2){j1--;}; if (j2 ==1){j1++;j1++;}; if (tab[i] 250){tab[i] = 250;} } // 3/4 point haut onde 1 j1=1; j2=1; for(int i=16; i<800;i=i+32) { tab[i]= tab[(14+i)] -tab1[1];if (j1 >5){j2=2;};if (j1 <2){j2=1;};if (j2 ==2){j1--;j1--;}; if (j2 ==1){j1++;j1++;};if (tab[i]>tab[(14+i)]-1){tab[i]=tab[(14+i)]-1;}; if (tab[i] > 250){tab[i] = 250;} } //point bas du 3/4 onde 1 j1=1; j2=1; for(int i=18; i<800;i=i+32) { tab[i]= (2*(tab1[2]))+128+j1;if (j1 >5){j2=2;};if (j1 <2){j2=1;};if (j2 ==2){j1--;}; if (j2 ==1){j1++;}; if (tab[i] 250){tab[i] = 250;} } //1/2 point haut onde 2 j1=1; j2=1; for(int i=20; i<800;i=i+32) { tab[i]= tab[(18+i)] -tab1[1];if (j1 >5){j2=2;};if (j1 <2){j2=1;};if (j2 ==2){j1--;}; if (j2 ==1){j1++;};if (tab[i]>tab[(18+i)]-1){tab[i]=tab[(18+i)]-1;}; if (tab[i] < 5){tab[i] = 5;} } // point bas j1=1; j2=1; for(int i=22; i<800;i=i+32) { tab[i]= (2*tab1[0])+128+j1;if (j1 >5){j2=2;};if (j1 <2){j2=1;};if (j2 ==2){j1--;}; if (j2 ==1){j1++;j1++;}; if (tab[i] 250){tab[i] = 250;} } // 1/2 point haut onde 1 j1=1; j2=1; for(int i=24; i<800;i=i+32) { tab[i]= (tab[22])-tab1[1];if (j1 >5){j2=2;};if (j1 <2){j2=1;};if (j2 ==2){j1--;}; if (j2 ==1){j1++;};if (tab[i]>tab[(22+i)]-1){tab[i]=tab[(22+i)]-1;}; if (tab[i] < 5){tab[i] = 5;} } //point bas 1/2 onde 1 j1=1; j2=1; for(int i=26; i<800;i=i+32) { tab[i]= ((tab1[2]))+128;if (j1 >5){j2=2;};if (j1 <2){j2=1;};if (j2 ==2){j1--;}; if (j2 ==1){j1++;}; if (tab[i] 250){tab[i] = 250;} } //1/3 point haut onde 2 j1=1; j2=1; for(int i=28; i<800;i=i+32) { tab[i]= tab[(26+i)] -tab1[1];if (j1 >5){j2=2;};if (j1 <2){j2=1;};if (j2 ==2){j1--;}; if (j2 ==1){j1++;};if (tab[i]>tab[(26+i)]-1){tab[i]=tab[(26+i)]-1;}; if (tab[i] <5){tab[i] = 5;} } // point bas j1=1; j2=1; for(int i=30; i<800;i=i+32) { tab[i]= (tab1[0])+128+j1;if (j1 >5){j2=2;};if (j1 <2){j2=1;};if (j2 ==2){j1--;}; if (j2 ==1){j1++;j1++;}; if (tab[i] 250){tab[i] = 250;} } // 1/4 point haut onde 1 tab[1] = tab1[3]; if(ici) { for(int i = 0; i < 800; i++) { ici<