U zadatku Proteklo Vreme, dobijam gresku RTE. Zamolio bih za pomoc gde je greska?
using System;
namespace Vezba
{
class Program
{
static void Main(string args)
{
int HH1 = int.Parse(Console.ReadLine());
int MM1 = int.Parse(Console.ReadLine());
int SS1 = int.Parse(Console.ReadLine());
int vreme1 = (HH1 * 3600) + (MM1 * 60) + SS1;
int HH2 = int.Parse(Console.ReadLine());
int MM2 = int.Parse(Console.ReadLine());
int SS2 = int.Parse(Console.ReadLine());
int vreme2 = (HH2 * 3600) + (MM2 * 60) + SS2;
int proteklo_vreme = vreme2 - vreme1;
int proteklo_vreme_sati = proteklo_vreme / 3600;
int proteklo_vreme_minuti = (proteklo_vreme - (proteklo_vreme_sati * 3600)) / 60;
int proteklo_vreme_sekunde = proteklo_vreme - (proteklo_vreme_sati * 3600) - (proteklo_vreme_minuti * 60);
Console.WriteLine(proteklo_vreme_sati + ":" + proteklo_vreme_minuti + ":" + proteklo_vreme_sekunde);
}
}
}
Zdravo,
Obrati pažnju na ulaz u zadatku. Vreme se unosi u jednom redu, a onda treba adekvatno da se podeli.
Ostatak zadatka bih rekao da radi kako valja
Sada dobijam WA gresku…cak sam probao i da ubacim if da ne ide u minus.
using System;
namespace Vezba
{
class Program
{
static void Main(string args)
{
string input = Console.ReadLine().Split(‘:’, ’ ');
int hA = Convert.ToInt32(input[0]) * 3600;
int mA = Convert.ToInt32(input[1]) * 60;
int sA = Convert.ToInt32(input[2]);
int hB = Convert.ToInt32(input[3]) * 3600;
int mB = Convert.ToInt32(input[4]) * 60;
int sB = Convert.ToInt32(input[5]);
int ukupnoA = hA + mA + sA;
int ukupnoB = hB + mB + sB;
if (ukupnoB > ukupnoA)
{
int final = ukupnoB - ukupnoA;
int sat = final / 3600;
int min = (final - sat * 3600) / 60;
int sec = final - (sat * 3600) - (min * 60);
Console.WriteLine(sat + ":" + min + ":" + sec);
}
else
{
int final = ukupnoA - ukupnoB;
int sat = final / 3600;
int min = (final - sat * 3600) / 60;
int sec = final - (sat * 3600) - (min * 60);
Console.WriteLine(sat + ":" + min + ":" + sec);
}
}
}
Zdravo,
Šaljem ti ispod kod koji prolazi test primere. Rekao bih da nisi lepo formatirao izlaz, i podelio ulaz. Probaj da uporediš detaljno ovaj kod i tvoj koda pa da sam dođeš do zaključka, a ako ne nađeš razliku, piši da prođemo
Dajem ti ovako na kašičicu jer bi rekao da je najbolje da sam vidiš o čemu se radi
using System;
class Program
{
static void Main()
{
// čita se ulaz u jednoj liniji
string input = Console.ReadLine();
// ulaz se prvo deli na početno i finalno vreme
string[] times = input.Split(' ');
string[] startTime = times[0].Split(':');
string[] endTime = times[1].Split(':');
// sati, minuti i sekunde početnog vremena se dodeljuju u promenljive i konvertuju u int
int startHour = int.Parse(startTime[0]);
int startMinute = int.Parse(startTime[1]);
int startSecond = int.Parse(startTime[2]);
// sati, minuti i sekunde finalnog vremena se dodeljuju u promenljive i konvertuju u int
int endHour = int.Parse(endTime[0]);
int endMinute = int.Parse(endTime[1]);
int endSecond = int.Parse(endTime[2]);
// Prebacuje se u sekunde i onda se računa proteklo vreme
int elapsedSeconds = (endHour * 3600 + endMinute * 60 + endSecond) -
(startHour * 3600 + startMinute * 60 + startSecond);
// Proteklo vreme se vraća u format adekvatan za izlaz zadatka
int elapsedHours = elapsedSeconds / 3600;
int elapsedMinutes = (elapsedSeconds % 3600) / 60;
int elapsedSecondsResidual = elapsedSeconds % 60;
// Pri ispisu ulaza se zadaje adekvatan format tražen u zadatku
Console.WriteLine($"{elapsedHours:D2}:{elapsedMinutes:D2}:{elapsedSecondsResidual:D2}");
}
}
Мислим да ти није тачан код, могу да проверим, али прилично сам сигуран да излазиш ван граница низа, што чини твој компјутер да прсне као пита!