#include #include #include using namespace std; /**pour compiler g++ 'app54.cpp' -std=c++11 -Wall -Wextra -o 'joapp54' ********************/ // 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[3],j1,j2; // tableau plus grand a cause ecriture over flow for(int j=0; j<3; j++) { cout << "Tapez 3 valeurs.(1-valeur directrice)(2-nb-ondes)(3-k7) " << j << " : "; cin >> tab1[j]; } j1=1,j2=2; // if (tab1[0] >20){tab1[1] = 20;} j1=1,j2=1; 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; //en entree nous creons la licorne pour que le son se marie avec les sons precedents for(int i=0; i<41;i=i+4) {tab[i] = 128-(j1* tab1[0]);if (j1 >12){j2=2;};if (j1<2){j2=1;};if (j2 ==2){j1=1;}; if (j2 ==1){j1++;};if (tab[i]<5){tab[i]=5;}} j1=1,j2=1; for(int i=2; i<41;i=i+4) {tab[i] = 128+(j1* tab1[0]);if (j1 >12){j2=2;};if (j1<2){j2=1;};if (j2 ==2){j1=1;}; if (j2 ==1){j1++;};if (tab[i]>250){tab[i]=250;}} //nous creons notre son j1=1,j2=1; for(int i=42; i<781;i=i+4) {if (j1 >tab1[1]){j2=2;};if (j1<2){j2=1;};if (j2 ==2){tab[i]= tab[38];j1=1;}; if (j2 ==1){tab[i]= tab[38]+j1;j1++;};if (tab[i]>250){tab[i]=250;}} j1=1,j2=1; for(int i=44; i<781;i=i+4) { if (j1 >tab1[1]){j2=2;};if (j1<2){j2=1;};if (j2 ==2){tab[i] =tab[40];j1=1;}; if (j2 ==1){tab[i] =tab[40]+j1;j1++;};if (tab[i]>250){tab[i]=250;};if (tab[(i)]<5){tab[i]=5;}} // Nous creons une licorne de sortie pour que le son ne perturbe pas le son suivant j1=1,j2=1; for(int i=782; i<800;i=i+4) {tab[i]= tab[778]-(j1* tab1[0]);j1++;if (tab[i]<127){tab[i]=127;}} j1=1,j2=1; for(int i=784; i<800;i=i+4) {tab[i]= tab[780]+(j1* tab1[0]);j1++;if (tab[i]>128){tab[i]=128;}} /*******************************/ tab[1] = tab1[2]; if(ici) { for(int i = 0; i < 800; i++) { ici<