Ин
Информатика
22.03.2020 16:49
Решено

Для тех, кто знает python! электронные часы показывают время в формате h: mm: ss, то есть сначала записывается количество часов, потом обязательно двузначное количество минут, затем обязательно двузначное количество секунд. количество минут и секунд при необходимости дополняются до двузначного числа нулями. с начала суток прошло n секунд. выведите, что покажут часы. самое главное - как сделать, чтобы всегда выводилось двузначное количество минут и секунд?

Лучшие ответы
LipskiyTimur
5
4,4(21 оценок)
22.03.2020 00:30
Самый простой способ - это с операций целочисленного деления разбить общее число секунд на часы, минуты, секунды. далее собрать нужную строку из получившихся значений, преобразовывая в строки. учитывая длины получившихся подстрок где надо добавляем 0 слева от начала подстроки. n = int(input('число секунд с начала суток: '))h = n // 3600n = n % 3600m = n // 60s = n % 60sh = str(h)sm = str(m)if len(sm)< 2:     sm = "0"+smss = str(s)if len(ss)< 2:     ss = "0"+ssprint(sh,': ',sm,': ',ss)тест №1число секунд с начала суток: 72002 : 00 : 00тест №2число секунд с начала суток: 7520120 : 53 : 21
trololoshka25
15
4,8(96 оценок)
22.03.2020 21:09

ответ:

program matrica;

const k=10;

type vector=array[1..k]o byte; masiv=aray[1..k] o vector;

var b: masiv;

procedure vved(n: byte; var a masiv);

var i,j: byte;

begin

randomize;

for i: =1 to n do

for j: =1 to n do

a[i,j]: =0;

for j: =round(n/2) to n do

for i: =n-j+1 to j do

a[i,j]: =random(255);

end;

proceure vuvid(n: byte; : masiv);

var i,j: byte;

begin

for i: =1 to   do

begin

for j: =1 to n do

write(a[i,j]: 5);

riteln;

end;

end;

procedure rahnok(n: byte; a: masiv);

var i,j: byte; s,l: byte;

begin

l: =0;

for j: =1 to round(n/2) do

for i: =j to (n-j+1) do

if (a[i,j] mod 2=0) then l: =l+1;

writeln('kilkist=' l);

подробнее - на -

объяснение:

omarckina2010
12
4,8(34 оценок)
22.03.2020 09:47

если правильно поняла суть вашей программы, то нужно вводить количество элементов массива с клавиатуры (массив заполняется рэндомно от -10 до 10) и вывести элементы больше 0 . вас в цикле for зачем-то понесло на второе условие if(a[r+1]< 0) это неверно, цикл сам переберет все значения. примерный код:

static void znaki(int[] a)

        {

            //массив до изменений этот код можно удалить

            //выводит весь массив со всеми значениями

            for (int i = 0; i < a.length; i++)

            {

              console.write(a[i]+" ");

            }

            console.writeline();

            //  

            console.writeline("положительные элементы массива: ");

            for (int r = 0; r < a.length; r++)

            {

                if (a[r] > 0)

                {

                    console.writeline(a[r]);

                }

            }

        }

        static void main(string[] args)

        {

            console.writeline("введите количество элементов в массиве: ");

            int n = convert.toint32(console.;

            int[] a = new int[n];

            random rand = new random();

            for (int i = 0; i < a.length; i++)

            {

                a[i] = rand.next(-10,10);

            }

            znaki(a);

            console.readline();

        }

Присоединяйся к нам!
Зарегестрируйтесь
Уже есть аккаунт? Войти