1 / 7

Kamuoliai

Kamuoliai.

emera
Download Presentation

Kamuoliai

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kamuoliai Kamuoliai. [15 taškų] Yra daug įvairaus dydžio stačiakampio gretasienio formos dėžių. Jos naudojamos kamuoliams supakuoti dedant į vieną dėžę po vieną kamuolį (kamuolys neturi išsikišti iš dėžės). Vidiniai dėžių matmenys pateikiami centimetrais. Visų kamuolių skersmuo vienodas ir lygus D cm. Parašykite programą, kuri nustatytų, kiek tarp turimų dėžių yra tinkamų duotiems kamuoliams pakuoti, taip pat apskaičiuotų, mažiausios tinkamos dėžės matmenis ir rastų, kiek tokių dėžių yra. Masyvų, skaičių, jų duomenų tipus ir dydį pasirinkite savo nuožiūra. Duomenys pateikiami byloje Duom1. txt. Pirmoje eilutėje įrašytas kamuolio skersmuo, antroje – dėžių skaičius n (n < 100). Tolesnėse n eilučių yra po tris skaičius, kurie reiškia dėžės matmenis centimetrais. Visi duomenys pateikiami sveikaisiais skaičiais. Rezultatus reikia surašyti į bylą Rez1. txt. Pirmoje eilutėje reikia įrašyti sakinį „Tinkamų dėžių yra : “ ir rastų dėžių skaičių. Antroje - sakinį „Mažiausia dėžė : “ ir tris skaičius, reiškiančius to­kios dėžės matmenis. Jeigu tokios dėžės nėra, reikia palikti tuščią eilutę. Trečioje - sakinį „Mažiausių tinkamų dėžių yra: “ ir rastų dėžių skaičių.

  2. const int Cm =100; int main(){ int A[Cm], //dėžių ilgių masyvas B[Cm], //dėžių pločių masyvas C[Cm], //dėžių aukščių masyvas V [Cm],// dėžių tūrių masyvas maz // mažiausios tinkamos dėžės tūris n, // dėžių skaičius d, // kamuolio diametras k, // tinkamų dėžių skaičius g,//tinkamų mažiausių dėžių skaičius nr; //mažiausios tinkamos dėžės nr. bool Y[i];//tinkamoms dėžėms priskiriama true

  3. //iš tekstinio failo duomenys //skaitomi į masyvus ifstream fd ("Duom1.txt"); fd >> d >> n; for (int i = 1; i <= n; i++) fd >> A[i] >> B[i] >> C[i]; fd.close();

  4. k = 0; for (int i=1; i<=n; i++){ V[i] = A[i] * B[i] * C[i]; //Skaičiuojamas dėžių tūris Y[i] = (A[i]>=d) && (B[i]>=d) && (C[i]>=d); //Nustatoma, kurios dėžės tinkamos if (Y[i]) k++;//Skaičiuojamas tinkamų dėžių kiekis }

  5. g = 0; //Randamas mažiausias dėžės tūris maz = 10000; for (int i = 1; i <= n; i++){ if ((V[i] <= maz) && Y[i]){ maz = V[i]; nr = i; //Mažiausios tinkamos dėžės nr. g++;//Skaičiuojamas mažiausių // tinkamų dėžių kiekis } }

  6. // Spausdinimas ofstream fr ("Rez1.txt"); fr << "Tinkamų dėžių yra: "<<k<< endl; if (g != 0) fr << "Mažiausia tinkama dėžë: " <<A[nr]<<" "<<B[nr]<<" "<<C[nr]<< endl; else fr << endl; fr << "Mažiausių tinkamų dėžių: “ << g; fr.close(); }

More Related