Egy c++ programmal kapcsolatban segítséget kérni: a program bekéri n darab film hosszát percben, kiírja, hogy hány napra, hány órára, hány percre, hány másodpercre lenne szükség a filmek megtekintéséhez. ?
Na, kollegák, hagyjuk már a lepontozásokat!
Szívesen segítek/segítünk(?) a kérdezőnek, ha leírja hol akad meg, de a feladatot nem oldjuk meg helyette... De ahhoz az kellene, hogy a kérdező válaszoljon, ami úgy látom nem akaródzik neki.
Ez a program C++-ban íródott és remélem nem lesz szemet szúró a többieknek ha nem szó szerint segítek csak beküldöm a megoldást:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
unsigned long long n,nap=0,ora=0;
float film,perc=0,masodperc=0;
cout << "Ird be hogy hany filmet szeretnel megadni: ";
cin >> n;
for (int i=1;i<=n;i++)
{
cout << "Ird be egy film hosszat percben: ";
cin >> film;
perc=perc+film;
}
masodperc=perc-floor(perc);
masodperc=masodperc*60;
ora=floor(perc)/60;
perc=floor(perc)-ora*60;
nap=ora/24;
ora=ora-nap*24;
cout << "Osszesen: " << endl << nap << " Nap" << endl;
cout << ora << " Ora" << endl;
cout << perc << " perc"<< endl;
cout << masodperc <<" masodperc" << endl;
return 0;
}
„... És vicc hogy senki nem áll az mellett aki rendesen segíteni próbál.. Oké, azt értjük hogy a kérdés hülyén lett feltéve, de akkor már nem is lehet segíteni?”
Igazad van, a kérdés hülyén lett feltéve: Nem derül ki belőle, hogy a teljes hosszt egymás után többször, különféle pontosságú kerekítésekkel akarja kiírni, vagy csak egyszer, de nap+óra+perc+másodperc bontásban. De nem ez vele a gond. Hadd idézzek magamtól, egy másik kérdezővel kapcsolatban:
„Ez már nem az első olyan C#-os kérdés a napokban, amit a kérdezője úgy tesz föl, hogy még a feladatot sem képes pontosan meghatározni. Annyit közöl, hogy neki nagyjából ilyenésilyen program kéne, aztán, hogy minek, arról tapintatosan hallgat. A saját próbálkozását kérésre sem mutatja be, a hozzászólásokra nem reagál, ha kódot kap, egy vak lóért el nem árulná, hogy hasznát látta-e, vagy egy kukkot se ért belőle...”
( forrás: https://www.gyakorikerdesek.hu/szamitastechnika__programozas.. )
A kérdező és a nyelv más, a stílus ugyanaz. Van, aki házifeladat-megoldó automatának tekinti a GyK-t; Segítséget kér, de azt várja el, hogy megcsinálják helyette. Ez viszont sehogy sem vág egybe azoknak a hozzászólóknak a szándékával, akik ténylegesen segíteni szeretnének, tehát az igyekvő, de még nem eléggé tapasztalt kérdezőket átemelni a fals gondolatmenet vagy a félrekódolás buktatóin, nem pedig a gondolkodástól és ismeretszerzéstől megóvni. Érthető, ha a körükben nem osztatlan a népszerűsége annak, aki lelkes szolgamunkával gátat emel Kérdező tudásának útjába.
Mindemellett S. N. N. kollégával értek egyet a lepontozások dolgában – nehogy már egymást csépeljük valakinek a lustasága miatt, meg aztán a pontozási lehetőség már végképp a trollok martalékává lett, hadd maradjon az ő sekélyes örömforrásuk. A kérdés színvonala alapján talán valóban méltatlanul nagy segítség volt, hogy azonnal egy gyakorlatilag kész programot kapott, de én, tabaki, bizony igenis #7 mellett állok, mivelhogy
1. vitathatatlan a kolléga jó szándéka,
2. nyilván örömét lelte a feladat megoldásában, és legalább neki hasznára vált,
3. Kérdező legalább a C++-ra való átírás érdekében gondolkodásra kényszerült,
4. én is megírtam, és alant közlöm a magam változatát, és milyen lenne már, ha...
Végezetül, csatlakozva #24-hez, én is remélem, hogy egyáltalán nem lesz szemet szúró, ha én sem szó szerint segítek, csak én is beküldöm a saját próbálkozásomat, amely történetesen szintén C++-ban íródott, és a kérdés mindkét fentebbi értelmezésének igyekszik megfelelni:
#include <iostream>
#define H 0x3C
#define D 0x5A0
using namespace std;
int main(){
unsigned int n, i, l, s, m = 0, h, d;
cout << "Filmek száma: "; std::cin >> n;
for (i = 1; i <= n; ++i){
cout << i << ". film hossza percben: "; cin >> l;
m += l;
}
d = m / D; h = m / H; s = m * H;
cout << "\nEz összesen " << d << " nap,\npontosabban " << h <<
" óra,\n" << "még pontosabban " << m << " perc,\negészen pontosan "
<< s << " másodperc,\n\nvagyis\n";
m %= d * D; h = m / H; m %= h * H;
cout << d << "nap, " << h << " óra, " << m << " perc, 0 másodperc\n";
return 0;
}
Az nyilvánvaló, hogy Kérdező saját verziót gyúr össze a három kapott programból, amely mindannyiunk számára szolgálhat újdonságokkal-tanulságokkal, nem mellesleg bemutatja vele, hogy csakugyan töviről-hegyire eligazodott a kapott (legyünk szerények) útmutatókban. Alig várom, hogy közzétegye.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!