В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
awoln
awoln
16.02.2022 13:00 •  Информатика

import random
n=9
bombi_nuzhno = 7
bombi = 0
a = [[0 for i in range(n)] for j in range(n)]
#распределение бомб
while bombi < bombi_nuzhno:
i = random.randint(0,6)
j = random.randint(0,6)
if a[i][j]!="*":
a[i][j] = '*'
bombi += 1
for i in range(len(a)-2):
for j in range(len(a[i])-2):
print(a[i][j], end =' ')
print()
#цифры
z=a
for i in range(len(z)):
for j in range (len(z[i])):
if z[i][j]==0 and z[i+1][j]=="*":
z[i][j]+=1
if z[i][j]==0 and z[i-1][j]=="*":
z[i][j]+=1
if z[i][j]==0 and z[i][j+1]=="*":
z[i][j]+=1
if z[i][j]==0 and z[i+1][j-1]=="*":
z[i][j]+=1
if z[i][j]==0 and z[i+1][j+1]=="*":
z[i][j]+=1
if z[i][j]==0 and z[i-1][j-1]=="*":
z[i][j]+=1
if z[i][j]==0 and z[i-1][j+1]=="*":
z[i][j]+=1
Это код, который должен выводить поле 7 на 7. сначала расставляются бомбы, а затем цифры как в сапере. Требуется исправить ошибку выхода из массива
(это питон)

Показать ответ
Ответ:
mpotlov747
mpotlov747
27.06.2020 00:08
Попробуй Program PascalGuru; var s:string;    f,t:text;
function preobr(s:string):string;var i,j,p,n,sered:integer;    gl,zp,slovo:string;    m:array [1..80] of string;beginzp:='!?*,.'; gl:='аоуыэяеёюи';  p:=pos(' ',s); i:=0;        repeat        inc(i);        slovo:=copy(s,1,p-1);        m[i]:=slovo;        delete(s,1,p);        p:=pos(' ',s);        until p=0;        n:=i+1;        m[n]:=s;    for i:=1 to n do     begin    s:=m[i];       if pos(s[length(s)],zp)<>0 then p:=length(s)-1 else p:=length(s);     sered:=(p div 2)+1;    if (not odd(p)) or (p<3) then continue;     if pos(s[1],gl)=0       then continue;     if pos(s[sered],gl)=0   then continue;     if pos(s[p],gl)=0       then continue;      s[1]:=UpCase(s[1]);    s[sered]:=UpCase(s[sered]);    s[p]:=UpCase(s[p]);     m[i]:=s+'('+s[1]+','+s[sered]+','+s[p]+')';     end;         s:='';     for i:=1 to n do s:=s+m[i]+' '; preobr:=s;end;
 beginassign(f,'input.txt'); reset(f);assign(t,'output.txt'); rewrite(t); while not eof(f) do      begin      readln(f,s);      writeln(t, preobr(s) );      end;  writeln('Файл успешно записан...'); close(f);close(t);readln;end.
0,0(0 оценок)
Ответ:
Максуд22861827
Максуд22861827
11.03.2021 00:23
While (tnum != 0)  //tnum, tden - числитель и знаменатель искомой                                    дроби
    {
        if (tnum < tden)
        {
            temp = tnum;
            tnum = tden;
            tden = temp;
        }
        tnum = tnum - tden;
    }
    gcd = tden;  //вычисляем наибольший общий делитель
    numerator = numerator / gcd;  //делим числитель и знаменатель на
                                                      НОД, получаем сокращенную дробь
    denominator = denominator / gcd;
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота