М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
foxylol1
foxylol1
01.11.2020 03:45 •  Информатика

Короче, кодим. Двумерный массив и его размеры даны. легенда: кинотеатр, каждый элемент-место, если единица, занято. Если ноль, то свободно.

Нужно найти ряд, в котором есть К свободных соседних мест, К тоже дано. Самый маленький номер ряда нужен, если их несколько. Если такого нет, то выводим нолик

код:

n, m = map(int, input().split())

a= [list(map(int, input().split())) for i in range(n)]

k=int(input())

count=0

res=[]

for i in a:

for j in range(len(i)):

if i[j]==0:

count+=1

if count==k:

res.append( a.index(i))

break

else:

count=0

if len(res)==0:

print(count)

else:

print(min(res))

Получаю размеры, список из строк в двумерный массив, потом получил число К

Получаю по отдельности списки массива, чекаю их на нолик, если да, то плюс, если попался минус, то обнуляю. Если счетчик приравнялся к К, то дропаю в пустой список номер ряда.

Потом циклик. Если в пустой тот список ничего не добавили, то пишем нолик.

если в нем что-то есть, то есть длина больше 0, то самый маленький элемент пишем.

Что не так

👇
Ответ:
ZelyakAnna
ZelyakAnna
01.11.2020

все работает нормально

Объяснение:

ты тут код без отступов дал, мб там что-то не так. внизу код с отступами, который я тестил .

если тебе не нравится что выводит на 1 меньше: нумерация массива не с 1 начинается, а с 0. просто добавляй а res (индекс + 1)

Код:

n, m = map(int, input().split())

a= [list(map(int, input().split())) for i in range(n)]

print(a)

k = int(input())

count = 0

res=[]

for i in a:

   for j in range(len(i)):

       if i[j] == 0:

           count += 1

   if count == k:

       res.append( a.index(i))

       break

   else:

       count = 0

if len(res) == 0:

   print(count)

else:

   print(min(res))

ps: лучше так сделай

k = int(input())

line = 0

for i in a:

   count = 0

   for j in range(len(i)):

       if i[j] == 0:

           count += 1

   if count >= k:

       line = a.index(i) + 1

       break

print(line)


Короче, кодим. Двумерный массив и его размеры даны. легенда: кинотеатр, каждый элемент-место, если е
4,6(96 оценок)
Открыть все ответы
Ответ:
Nematzoda1999
Nematzoda1999
01.11.2020

Значит просто расписать как это должно работать?

Объявляем переменную День, которая будет считывать количество дней.

Вводится H хлеба - общее количество и Z - количество, которое потребляется в день.

Переведем кг в г, чтобы легче было считать: H = H * 1000

Запускается цикл пока H > 0(пока хлеб вообще имеется)

один проход цикла - один день, значит в теле цикла H = H - Z

То есть мы вычитаем из общего кг хлеба суточное потребление.

И увеличиваем переменую День на 1.

После этого цикла выводим переменную День.

Приведу пример на языке с++. В случае ввода H = 1, Z = 50, выводится ответ 20 дней

#include <iostream>

#include <cstdlib>

using namespace std;

int main()

{

int day = 0, Z, N;

cin >> N >> Z;

N = N * 1000;

while(N > 0){

 N = N - Z;

 day++;

}

cout << day << endl;

system("pause");

return 0;

}

4,7(70 оценок)
Ответ:
ktuj240
ktuj240
01.11.2020
Честно, не поняла ваш код вообще. Почему нет цикла? Предлагаю свое решение:
1)Cначала заполняем массив случайными числами от 2 до 5 (включительно)
2)Потом выводим его (Для проверки)
3) Потом считаем оценки. Но сначала нужно обнулить переменные( В самом начале это делали), а то получится кака (:

program N_0547847;
var
    b, c, d, f, i:integer;
    a: array [1..20] of integer;
begin;
randomize;
b:=0; c:=0; d:=0; f:=0;
for i:=1 to 20 do begin
  a[i]:=random(4)+2; 
  write(a[i],' '); end; 
writeln;
for i:=1 to 20 do begin
    if a[i]=2 then  b:=b+1;
    if a[i]=3 then  c:=c+1;
    if a[i]=4 then  d:=d+1;
    if a[i]=5 then   f:=f+1;
end;
writeln('Двоек: ', b); 
writeln('Троек: ', c); 
writeln('Четверок: ',d);
writeln('Пятерок: ',f);
end.   
4,5(26 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ