//LIBURUTEGIAK #include #include #include //PROGRAMA NAGUSIA int main () { //ALDAGAI ERAZAGUPENA float ErrezetaTaula[100][10]; //100 produktu, 10 errezeta int ProduktuDesberdinTaula[10]; int OrdenazioTaula[2][10]; int ErrGehien3Produtua; int auk, errezeta, produktua, kont, errezetaMaximoa; float kantitatea, maximoa; do{ //AUTOERREPIKAKORRA system ("cls"); do{ puts("1.- Errezeta, produktua eta kantitateak gorde"); puts("2.- Zein errezetak erabiltzen du gehien 3 produktua"); puts("3.- Produktu desberdin errezeta bakoitzeko"); puts("4.- Ordenatu aurreko taula"); puts("5.- Irten"); puts ("Aukeratu"); scanf ("%i", &auk); }while (auk<1 ||auk>5); switch (auk) { case 1:{ //TAULA OSOA ZEROZ BETE. PRODUKTURIK EZ DUTE ERABILTZEN. for (produktua=0; produktua<100; produktua++) {for (errezeta=0; errezeta<10; errezeta++) { ErrezetaTaula[produktua][errezeta]=0; } } //ERABILTZAILEAK EMANTEN DITUEN DATUAK GORDE do{ puts ("\nAdierazi errezeta produktua kantitatea (hirurak 0 bukatzeko)"); scanf ("%i %i %f", &errezeta, &produktua, &kantitatea); }while(errezeta<0||errezeta>9||produktua<0||produktua>99||kantitatea<0); while (!(errezeta==0&&produktua==0&&kantitatea==0)) { ErrezetaTaula[produktua][errezeta]=kantitatea; do{ puts ("\nAdierazi errezeta produktua kantitatea (hirurak 0 bukatzeko)"); scanf ("%i %i %f", &errezeta, &produktua, &kantitatea); }while(errezeta<0||errezeta>9||produktua<0||produktua>99||kantitatea<0); } //TAULA PANTAILARATU for (produktua=0; produktua<100; produktua++) {for (errezeta=0; errezeta<10; errezeta++) { printf (" %6.2f", ErrezetaTaula[produktua][errezeta]); } puts(""); } break; } case 2:{ maximoa=ErrezetaTaula[3][0]; ErrGehien3Produtua= 0; for (errezeta=0; errezeta<10; errezeta++) { if (ErrezetaTaula[3][errezeta]> maximoa) { maximoa=ErrezetaTaula[3][errezeta]; ErrGehien3Produtua= errezeta; } } printf ("3. produktu gehien erabiltzen duena da %i errezeta (%6.2f gramu)", ErrGehien3Produtua, maximoa); break; } case 3:{ for (errezeta=0; errezeta<10; errezeta++) {for (kont=0,produktua=0; produktua<100; produktua++) { if (ErrezetaTaula[produktua][errezeta]!=0) { kont++; } } ProduktuDesberdinTaula[errezeta]=kont; } //PANTAILARATU TAULA for (errezeta=0; errezeta<10; errezeta++) {printf (" %4i", ProduktuDesberdinTaula[errezeta]); } break; } case 4:{ //10 ALDIZ: MAXIMOA BILATU, TAULA BERRIAN GORDE ETA NEGATIBO BIHURTU. //ERA HONETAN EZ DA BERRIRO MAXIMO IZANGO kont =0; while (kont<10) {for (errezetaMaximoa = 0, errezeta=0; errezeta<10; errezeta++) {if (ProduktuDesberdinTaula[errezeta]>ProduktuDesberdinTaula[errezetaMaximoa]) { errezetaMaximoa = errezeta; } } OrdenazioTaula[0][kont]= errezetaMaximoa; //ERREZETA OrdenazioTaula[1][kont]= ProduktuDesberdinTaula[errezetaMaximoa]; //BALIOA ProduktuDesberdinTaula[errezetaMaximoa]= - ProduktuDesberdinTaula[errezetaMaximoa]; kont++; } //BIHURTU ProduktuDesberdinTaula POSITIBO for (errezeta=0; errezeta<10; errezeta++) { ProduktuDesberdinTaula[errezeta]= -ProduktuDesberdinTaula[errezeta]; } //PANTAILARATU ORDENAZIO TAULA for (kont=0; kont<10; kont++) { printf ("\n%i. \t%i errezetak %i produktu desberdin", kont, OrdenazioTaula[0][kont], OrdenazioTaula[1][kont]); } break; } } puts ("\n\n\tSakatu tekla bat"); getch(); }while (auk !=5); //AUTOERREPIKAKORRA }