Zelka prieš 9 metus
Sveiki, dar kartą reikia pagalbos.
Trikampis vienu metu gali būti dviejų tipų: statusis ir lygiašonis, lygiašonis ir lygiakraštis. Pakeiskite programą taip, kad ji tai nustatytų. Pasitikrinkite. Kai a = 50, b = 40, c = 30, turi būti spausdinama: Trikampis statusis ir įvairiakraštis. Kai a = 50, b = 50, c = 50, turi būti spausdinama: Trikampis lygiakraštis ir lygiašonis.
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main ()
{
int a,b,c,n=2;
for(int i=1;i<=n;i++)
{
cout << "A="; cin >> a;
cout << "B="; cin >> b;
cout << "C="; cin >> c;
if(a+b>c&&b+c>a&&c+a>b)
{
if((a==b&&b==c)&&(a==b||b==c||c==a)) cout << "Lygiakrastis ir lygiasonis" << endl;
else if(a==b||a!=b&&b==c||b!=c&&c==a||c!=a) cout << "Ivairiakrastis ir statusis" << endl;
}
else cout << "Negalimas" << endl;
}
return 0;
}
Aš čia esu arba kažką daug labai pridirbęs, arba tik su stačiuoju, nežinau, kokios reikšmės turi būti, kad jis susidarytu.
Zelka prieš 9 metus
Taip, man to 0 skaičiavimuose nereikia, reikia tik dėl ciklo baigimo. Bet nelabai žinau, ką daryt, jog šio 0 skaičiavimuose neįskaičiuotų. Pagal šį pratimą darau :
Siuntų perveţimo įmonėje dirbantis kurjeris gavo uţduotį parengti perveţimų statistiką: kiek įvykdė uţsakymų, kurių suma viršijo 100 Lt; uţ kokią vidutinę sumą per dieną išveţiojo prekių; kiek iš viso prekių išveţiojo. Kurjeris neţino, kiek uţsakymų įvykdys per dieną, todėl baigęs darbą į programą įves nulį (0), tai reikš, kad darbo diena baigta ir reikia pateikti rezultatus. Parenkite programą, kuri leistų neţinomą skaičių kartų kurjeriui įvesti uţsakymo sumą (skaičiavimai baigiami įvedus nulį, nulis skaičiuojant vidurkį ir kiekį nebus pridėtas) ir pateiktų skaičiavimų rezultatus.
Zelka prieš 9 metus
Dar dėl tokio vieno dalyko. Sakykim, while ciklas užbaigiamas įrašius 0, t.y while(x!=0). Kokiu būdu skaičiavimuose tą 0 galėčiau praleisti ? Pvz. duoti kokie 3 skaičiai : 20,15,6 ir, kad jų įvedinėjimus užbaigt, įvedamas 0. Kaip man ciklo viduje tą 0 ignoruoti ? Jis man iškart suardo kai kuriuos skaičiavimus. Žinau, kad galima ir taip daryti pvz.:
while (g!=0)
{
cout << "A="; cin >> a;
cout << "G="; cin >> g;
}
A, tai skaičiai, su kuriais man reikia daryti skaičiavimus, o G, kad įvesti ant galo 0 ir į skaičiavimus jo neįtraukti. Bet jau rašyti tenka dvigubai ilgiau. Ar būtų kažkaip įmanoma tą 0 iš A ignoruoti skaičiavimuose ?
Zelka prieš 9 metus
Sveiki dar kartą, toks vienas uždavinukas vėl man pakibo :
Petriukas gavo n saldainių. Kiekvieną dieną jis nori suvalgyti skirtingą skaičių saldainių x. Kelias dienas Petriukas galės mėgautis saldainiais ir kiek jam dar liks nesuvalgytų saldainių tuo atveju, jei paskutinei dienai saldainių nebeuţtektų. Pastaba: kiekvieną dieną suvalgomi saldainiai turi būti įvedinėjami atskirai, jie turi būti įvedinėjami tol, kol Petriukas nebus suvalgęs visų saldainių.
Duomenys:
Petriukas gavo saldainių: 25
Per dieną suvalgė: 7
Per dieną suvalgė: 7
Per dieną suvalgė: 8
Per dieną suvalgė: 5
Rezultatas:
Petriukui saldainių uţteks 3 dienoms ir jam liks 3 saldainiai.
Tai, aš abejoju dėl savo sukurto sprendimo, nes neleidžia man įrašyt, kiek suvalgė 4 dieną, bet atsakymai yra teisingi. Kas būtų blogai čia ? Bandžiau ir su while(n>0), bet neina atsakymo gaut teisingo :)
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{
int n=25; // kiek gavo saldainiu
int d=0; // kiek dienu uzteks
int c; //kiek saldainiu liks
int s=0; // suvalgytu saldainiu skaicius
while(s<n)
{
cout << "S="; cin >> s;
n=n-s;
d++;
}
c=n;
cout << "D=" << d << " C=" << c << endl;
return 0;
}