#include #include #include using namespace std; /**pour compiler g++ 'app5b.cpp' -std=c++11 -Wall -Wextra -o 'joapp5b' ********************/ // version app5a nous changeons la forme de l'inertie que sur le pt haut onde 1 //valeurs referente 9,8,7,6 int main() { string const construit("audio.jo"); ofstream ici(construit.c_str()); int tab[830], tab1[4],j1; // 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; for(int i=0; i<800;i=i+28) { tab[(0+i)] = tab[22]-tab1[1]+j1;if (j1++ < 7){j1++;}; if (tab[(0+i)] <5 ){tab[(0+i)] = 5;} }// point bas onde 1, j1=1; for(int i=0; i<800;i=i+28) { tab[(2+i)]= (4*(tab1[0]))+128+j1;j1++;if (j1++ < 7){j1++;};if (tab[(2+i)] > 250){tab[(2+i)] = 250;}} // point haut onde 1, ajout +j1++ j1=1; for(int i=0; i<800;i=i+28) { tab[(4+i)]= ((tab[(2+i)]) -(tab1[1])+j1);j1++;if (j1++ < 7){j1++;};if (tab[(4+i)] < 5){tab[(4+i)] = 5;}} // point bas onde 2, ajout +j1++ j1=1; for(int i=0; i<800;i=i+28) { tab[(6+i)]= (3*(tab1[2]))+128+j1;j1++;if (j1++ < 7){j1++;};if (tab[(6+i)] > 250){tab[(6+i)] = 250;}} //point haut onde 2, j1=1; for(int i=0; i<800;i=i+28) { tab[(8+i)]= tab[(6+i)] -tab1[1]+j1;j1++;if (j1++ < 7){j1++;};if (tab[(8+i)] < 5){tab[(8+i)] = 5;}} // point bas, ajout +j1 j1=1; for(int i=0; i<800;i=i+28) { tab[(10+i)]= (3*tab1[0])+128+j1;j1++;if (j1++ < 7){j1++;};if (tab[(10+i)] > 250){tab[(10+i)] = 250;}} // 3/4 point haut onde 1, ajout +j1++ j1=1; for(int i=0; i<800;i=i+28) { tab[(12+i)]= tab[(10+i)] -tab1[1]+j1;j1++;if (j1++ < 7){j1++;};if (tab[(12+i)] <5 ){tab[(12+i)] = 5;}} //point bas du 3/4 onde 1, ajout +j1++ j1=1; for(int i=0; i<800;i=i+28) { tab[(14+i)]= (2*(tab1[2]))+128+j1;j1++;if (j1++ < 7){j1++;};if (tab[(14+i)] > 250){tab[(14+i)] = 250;}} //1/2 point haut onde 2 j1=1; for(int i=0; i<800;i=i+28) { tab[(16+i)]= tab[(14+i)] -tab1[1];j1++;if (j1++ < 7){j1++;};if (tab[(16+i)] < 5){tab[(16+i)] = 5;}} // point bas j1=1; for(int i=0; i<800;i=i+28) { tab[(18+i)]= (2*tab1[0])+128+j1;j1++;if (j1++ < 7){j1++;};if (tab[(18+i)] > 250){tab[(18+i)] = 250;}} // 1/2 point haut onde 1 j1=1; for(int i=0; i<800;i=i+28) { tab[(20+i)]= (tab[18])-tab1[1]+j1;j1++;if (j1++ < 7){j1++;};if (tab[(20+i)] <5){tab[(20+i)] = 5;}} //point bas 1/2 onde 1 j1=1; for(int i=0; i<800;i=i+28) { tab[(22+i)]= ((tab1[2]))+128;j1++;if (j1++ < 7){j1++;};if (tab[(22+i)] > 250){tab[(22+i)] = 250;}} //1/3 point haut onde 2 j1=1; for(int i=0; i<800;i=i+28) { tab[(24+i)]= tab[(22+i)] -tab1[1]+j1;j1++;if (j1++ < 7){j1++;};if (tab[(24+i)] <5){tab[(24+i)] = 5;}} // point bas j1=1; for(int i=0; i<800;i=i+28) { tab[(26+i)]= (tab1[0])+128+j1;j1++;if (j1++ < 7){j1++;};if (tab[(26+i)] > 250){tab[(26+i)] = 250;}} // 1/4 point haut onde 1 tab[1] = tab1[3]; if(ici) { for(int i = 0; i < 800; i++) { ici<