#25. Вложенные циклы. Примеры задач с вложенными циклами | Python для начинающих

Обучающий курс: stepik.org/course/100707
Рассматриваем принцип работы конструкции с вложенными циклами. Подробное изучение на примерах, где необходимы такие операции.
Telegram-канал: t.me/python_selfedu
Все уроки по Python: • Добрый, добрый Python ...

Пікірлер: 102

  • @user-bg2pn4yz9l
    @user-bg2pn4yz9l2 жыл бұрын

    мужик ты так дотошно рассказываешь и показываешь каждую операцию !! очень помог я не сразу понял как работает вложенный список , но после твоих объяснений всё встало на свои места !! спасибо большое ....

  • @user-nd2br7vv8j
    @user-nd2br7vv8j Жыл бұрын

    После слов: "делается это очень просто" 15:24 стало совсем не просто)

  • @paveldudnikov5302
    @paveldudnikov53022 жыл бұрын

    Здорово когда автор рассказывает где это на практике можно применять!

  • @LimonES268
    @LimonES2682 жыл бұрын

    Самое классное, профессиональное объяснение! АВТОРУ наше Уважение!!!

  • @seventesla2743
    @seventesla2743 Жыл бұрын

    Пока что самый сложный урок, пересматривать для понимания раза 2 точно и практику сделать

  • @Alex-uh4cr
    @Alex-uh4cr Жыл бұрын

    Супер! Это самое лучшее объяснение цикла for , которое я встретил за 1.5 года!

  • @Alex-uh4cr

    @Alex-uh4cr

    Жыл бұрын

    Но потом с суммой двух списков как начал городить и я начал лагать 😆

  • @Stanis_LOVE

    @Stanis_LOVE

    Жыл бұрын

    Ты спустя полтора года до сих пор на циклах сидишь ? ? Что с карьерой в IT?

  • @nitroexpress9928

    @nitroexpress9928

    Жыл бұрын

    ​@@Stanis_LOVE кто понял жизнь тот не спешит.

  • @coffeeglek6773
    @coffeeglek6773 Жыл бұрын

    Супер! Огромное спасибо за Ваши труды

  • @user-hf1wj2bi6f
    @user-hf1wj2bi6f2 жыл бұрын

    Пайтон дай мне сил пройти все уроки до конца

  • @SistemaZakata
    @SistemaZakata2 жыл бұрын

    Самое доступнейшее объяснение темы! Спасибо)

  • @redrats9175
    @redrats91752 жыл бұрын

    мужик ты заслужил ЛАЙК хорошей работой и лайк на СТЕПИКЕ! спасибо за объяснение

  • @vlad-qx5fu
    @vlad-qx5fu Жыл бұрын

    Брависсимо!!!💪🦾

  • @suiunbekiskenderov7444
    @suiunbekiskenderov74442 жыл бұрын

    Спасибо огромное.

  • @rafaelkireyev2984
    @rafaelkireyev2984 Жыл бұрын

    Спасибо. Вы высококлассный преподаватель.

  • @alimagomedovich8237
    @alimagomedovich8237 Жыл бұрын

    хорошо объяснил!!! спасибо

  • @andredru4278
    @andredru42785 ай бұрын

    Спасибо. Все понятно.

  • @user-cs5nh6yz3t
    @user-cs5nh6yz3t Жыл бұрын

    Очень полезный урок

  • @jamjam3337
    @jamjam3337 Жыл бұрын

    Спасибо!👏👍

  • @locky1827
    @locky18278 ай бұрын

    I like these lessons!

  • @wizardx_X
    @wizardx_X Жыл бұрын

    Перевернул матрицу по-другому. Хорошая задача, спасибо!) for i in range(4): l = list() for j in range(4): l.append(s[j][i]) s1.append(l)

  • @elenalevasheva3830
    @elenalevasheva3830 Жыл бұрын

    Спасибо за урок, доходчиво и понятно. Мне только не понятно какие должны быть мозги чтобы придумать алгоритм как в последнем примере (транспонирование матрицы) . Как у Перельмана наверное.

  • @levprom4228
    @levprom4228 Жыл бұрын

    Сложность нарастает. Приходится снижать скорость видео с моих стандартных х1.8 до х1.4.

  • @azizsaparniyazov4601
    @azizsaparniyazov46015 ай бұрын

    я еще в прошлых заданиях без знания еще этой темы пользовался вложенными циклами по наитию)

  • @ekaterinad3350
    @ekaterinad33502 жыл бұрын

    Спасибо огромное,все очень доступно объяснили. наконец-то я поняла до конца))

  • @user-xv7sh6lp7o
    @user-xv7sh6lp7o2 жыл бұрын

    👍

  • @user-fz1yu2qv8f
    @user-fz1yu2qv8f2 жыл бұрын

    15:23 таймкод для себя(как же сложно вникнуть в суть построения программы по алгоритму. Почему именно так, а не иначе)

  • @olegkomlev
    @olegkomlev Жыл бұрын

    10:57 Думаю нагляднее и эффективнее вместо " while line.count(' '): " писать " while ' ' in line: ". 1) Это понятней (читается "Пока двойной пробел в строке"), чем "Пока количество двойных пробелов в строке " 2) Незачем подсчитывать, сколько именно двойных пробелов в строке (как это делает count). Оператору in достаточно найти первое вхождение, чтобы решить, нужно ли продолжать цикл, остаток строки можно не просматривать.

  • @Youtubbber

    @Youtubbber

    Жыл бұрын

    Я же правильно понимаю, что таком случае цикл будет перебирать всю строку с самого начала после каждой замены? Разве не будет лучше однократно перебирать строку, и находя пробел, делать проверку на то, что следующий символ не является пробелом, в противном случае удалять его и продолжать проверку?

  • @olegkomlev

    @olegkomlev

    Жыл бұрын

    @@Youtubbber Совершенно верно. Эффективнее чем line.count и ' ' in line просматривать строку и оставить только тот пробел, перед которым нет пробела. Тогда строка будет просмотрена только 1 раз. Но в любом случае " while ' ' in line: " эффективнее, чем while line.count(' '):

  • @Youtubbber

    @Youtubbber

    Жыл бұрын

    @@olegkomlev я с вами согласен.

  • @Dukapb81
    @Dukapb81 Жыл бұрын

    Пример со сложением был сильно сложнее основ вложенных циклов... для начинающих это перебор. А так спасибо.

  • @vladis..
    @vladis..8 ай бұрын

    a = [[1, 2, 3], [4, 5, 6], [3,3,3]] c = [] for j in range(len(a[0])): r = [] for i in range(len(a)): r.append(a[i][j]) c.append(r) print(c) Что если по индексу менять? если матрица не квадратная

  • @zacadaaa
    @zacadaaa2 жыл бұрын

    Сложно (

  • @user-er7nh1vg4j
    @user-er7nh1vg4j10 ай бұрын

    Сергей в первой строчке программы вы используете функцию map() ,которую мы ещё не проходили, поэтому сложно разобраться.

  • @selfedu_rus

    @selfedu_rus

    10 ай бұрын

    Пока не берите в голову. Я вроде объясняю для чего она здесь.

  • @radaruho
    @radaruho Жыл бұрын

    while ' ' in a: a = a.replace(' ', ' ')

  • @user-fz1yu2qv8f
    @user-fz1yu2qv8f2 жыл бұрын

    9:00 у меня есть своя реализация решения, она более продуманная. Но если бы я писал на C++, то и не парился бы, но это Python, и что-то мне подсказывает, что моё решение не вписывается в его культуру. Можно ли как-то преобразовать мой код к более питоновскому? #two-dimensional list two_dim_a = [[2, 34], [4, 8, 1], [2, 0, 7], [6756, 78]] two_dim_b = [[9, 12, 3], [44, 5, 6], [2, 2, 2]] c = [] for i in range(max(len(two_dim_a), len(two_dim_b))): c.append(list()) for i, two_dim_lst in enumerate((two_dim_a, two_dim_b)): for j, lst in enumerate(two_dim_lst): for k, elem in enumerate(lst): if i == 0: c[j].append(elem) elif k c[j][k] += elem else: c[j].append(elem) print(c)

  • @sergeyrogkoff4528
    @sergeyrogkoff4528Ай бұрын

    Легко и просто…😢

  • @andreybrit7015
    @andreybrit70152 жыл бұрын

    Добрый день. Вопрос по практическим заданиям. Говорите пройти их в конце каждого урокаю . Где они находятся.? Cпасибо за структурированный материал.

  • @selfedu_rus

    @selfedu_rus

    2 жыл бұрын

    ссылка на stepik под каждым видео

  • @ney107-iz6xl

    @ney107-iz6xl

    10 ай бұрын

    Да нотам сначала

  • @Alex-ho8ke
    @Alex-ho8ke2 жыл бұрын

    Я начал читать текст получившийся) "Ведь были ж заданья боевые" заданья слова нету) эх вы))

  • @selfedu_rus

    @selfedu_rus

    2 жыл бұрын

    В поэзии слова часто немного видоизменяются для рифмы и стиля. Почитайте стихи ))

  • @perf2.078

    @perf2.078

    2 жыл бұрын

    @@selfedu_rus Тогда по ритму лучше "Заданья были боевые"

  • @olegkomlev

    @olegkomlev

    Жыл бұрын

    @@perf2.078 Ну тогда и в 3-й строчке нужно размер исправить, а в последней рифму: ... Балакирев что дал? Заданья были боевые, ... Как он их все решал!

  • @olegkomlev

    @olegkomlev

    Жыл бұрын

    Из Викисловаря: "зада́нье. Существительное, неодушевлённое, средний род, 2-е склонение (тип склонения 6*a по классификации А. А. Зализняка). МФА: [zɐˈdanʲɪ̯ə] Семантические свойства: устар., разг. и поэт. то же, что задание " Так что, слово есть, но оно "неофициальное" (официальное - "задание"). "Заданье" может использоваться в стихах, в разговорной речи и в литературе (как художественный прием).

  • @nikitasobur8011
    @nikitasobur80112 жыл бұрын

    Спасибо большое за урок, но есть вопрос. При решении задачи с транспонированием матрицы индекс j пробегает значения от i + 1 до len(A) - 1 включительно. Почему не возникает ошибка по типу index out of range при достижении индексом i крайнего значения равного len(A) - 1, ведь тогда j из логики работы функции range() будет принимать значение len(A), но элемента с таким вторым индексом нет (т.к. счет индексов с нуля и до len(A) - 1)?

  • @selfedu_rus

    @selfedu_rus

    2 жыл бұрын

    Этот конкретный вопрос лучше в телеграм-канале обсудить.

  • @olegkomlev

    @olegkomlev

    Жыл бұрын

    На последней итерации внешнего цикла i=len(A) - 1. При этом внутренний цикл превращается в for j in range(len(A),len(A)). Диапазон range(len(A),len(A)) содержит 0 элементов ,т.е пуст. Поэтому внутренний цикл не выполнится ни разу, а значит и значения элементов из А по указанным индексам не будут вызваны. Поэтому никакой ошибки index out of range не будет. Кстати, это говорит о том , что последняя итерация внешнего цикла не нужна. Посмотрите на рисунок матрицы, мы обмениваем элементы выше главной диагонали с симметричными им, которые ниже. Но в последней строке нет элементов выше гл.диагонали. Т.е. последнюю строку не нужно обрабатывать. Так что внешний цикл правильнее записать for i in range(len(A)-1).

  • @nikitasobur8011

    @nikitasobur8011

    Жыл бұрын

    @@olegkomlev спасибо за ответ. Я вас понял, при том, что именно эти задачи курса (как видно по дате комментария), проходил достаточно давно.

  • @tm_workout
    @tm_workout2 жыл бұрын

    a zacem napisali na 11:53 t[i] = line . ya tut [i] ne ponel nelzyali napisat prosto t = line ? mojete obyasnit pojaluysta

  • @alexeychasovnikov1793
    @alexeychasovnikov17932 жыл бұрын

    Сергей, что то мне очень тяжело даются циклы, даже с Вашими объяснениями, может быть посоветуете что то почитать?

  • @selfedu_rus

    @selfedu_rus

    2 жыл бұрын

    За всю жизнь осилил только одну книжку по программированию целиком и та была по С++ )) Практикуйтесь, все другое мало что даст. Теории здесь достаточно.

  • @ghostlynomad7788

    @ghostlynomad7788

    2 жыл бұрын

    Можно попробовать эту: Майкл Доусон - Программируем на Python

  • @babeandproducer

    @babeandproducer

    2 жыл бұрын

    Забей, начнёшь писать проекты больше чем к половине подобных функций не обратишься, а если и обратишься то в крайне редких случаешь и вспомнишь о их существовании через Гугл.

  • @babeandproducer

    @babeandproducer

    2 жыл бұрын

    Если конечно для научных лаборатории софт писать не будешь. Там весь код сплошная математика не из школьной программы.

  • @user-hi1bw5gb3r

    @user-hi1bw5gb3r

    2 жыл бұрын

    @@babeandproducer спасибо, мне даже не много полегчало :)

  • @nomadicus77
    @nomadicus77 Жыл бұрын

    ну и каша получается с этими вложенными списками))) так много всего нужно учитывать жесть

  • @ney107-iz6xl
    @ney107-iz6xl10 ай бұрын

    T[i]= Line что значит Таймкод12.14 Тойсть там i это весь код который был написан

  • @return_1101
    @return_11012 жыл бұрын

    Я застрял в цыклы. 😁

  • @b1n4r73
    @b1n4r735 ай бұрын

    На 12:15 Вы используете функцию list(map(int, input())) для назначения двух переменных M и N, но две переменные можно назначить и с помощью только map(int, input()).. Объясните пожалуйста, чем был обоснован выбор использования list, если его отсутствие дает тот же результат в данных условиях? И почему list при наличии двух переменных дает значение обеим переменным, а не делает первую переменную списком? Заранее огромное спасибо!

  • @selfedu_rus

    @selfedu_rus

    5 ай бұрын

    да, здесь можно и без list

  • @user-bm1yl7xi6l
    @user-bm1yl7xi6l Жыл бұрын

    18:00 не совсем понятна пятая строка. Странно, сто это не приводит к неправильному решению. Мы A[ i ] [ j ] приравниваем к A [ j ] [ i ], затем A [ j ] [ i ] к A[ i ] [ j ], который мы задали равным A [ j ] [ i ]. То есть эта строка должна выдать два одинаковых значения A [ j ] [ i ]

  • @thecollatzhypothesis1088
    @thecollatzhypothesis10882 жыл бұрын

    ​ @selfedu Привет можешь пожалуйста подсказать что у меня не правильно? Код прилагаю ниже.Я хочу чтобы если число чётное он его делил на 2 , если нечётное то умножал 3 и плюсовал 1 а потом если чётное опять делил на 2 а дальше если нечётное умножал уже на 5 и плюсовал 1......и дальше всё заново....но проблема что он после 3+1 не делит на 2 а умножает преведущие число на 5+1.....

  • @thecollatzhypothesis1088

    @thecollatzhypothesis1088

    2 жыл бұрын

    def z(number): if number % 2 == 0: print(number // 2) return number // 2 elif number % 2 == 1: result = 3 * number + 1 print(result) if number % 2 == 0: print(number // 2) return number // 2 elif number % 2 == 1: result = 5 * number + 1 print(result) return (result) n = input("Give me a number: ") while n != 1: n = z(int(n))

  • @selfedu_rus

    @selfedu_rus

    2 жыл бұрын

    такие вопросы в телеграм-канал по Python

  • @anbur9197
    @anbur91973 ай бұрын

    11:15 а если в качестве шапки цикла поставить while “ “ in line

  • @nihaoarigato
    @nihaoarigato2 жыл бұрын

    11:33 а line какой тип имеет? Что-то я не понял смысла действий. А можете с питоньего на русский перевести? Буду очень признателен

  • @selfedu_rus

    @selfedu_rus

    2 жыл бұрын

    строка

  • @apm_7520
    @apm_752010 ай бұрын

    Здравствуйте, подскажите пожалуйста как сложить значения двух списков (не вложенных) на пример: а = [1,2,3], b = [3,4,5] = [4,6,8] ?

  • @selfedu_rus

    @selfedu_rus

    10 ай бұрын

    res = list(map(sum, zip(a, b)))

  • @apm_7520

    @apm_7520

    10 ай бұрын

    @@selfedu_rus подскажите, а, можно это сделать при помощи цыкла и среза? Без дополнительных функцый (map, sum, zip)?

  • @sng-vv
    @sng-vv2 жыл бұрын

    13:55 Может кто-то объяснить, a,b = list(map(int, input().split())) и a,b = map(int, input().split()) будут работать одинаково? Просто автор до этого показывал второй вариант, а что насчёт первого? Я проверил, работает вроде 1 в 1, но нужен ответ от знающих людей XD что в этом случае делает list()?

  • @olegkomlev

    @olegkomlev

    Жыл бұрын

    map возвращает не список, а итератор. Попробуйте, выполнить в терминале map(int, '11 20'.split()) и list(map(int, '11 20'.split())) В первым случае будет , во втором [11,22]. Т.е. map возвращает не готовый список ,а некий "полуфабрикат", который можно превратить в список при помощи list (чтобы потом например, вывести при помощи print). А можно с этим "полуфабрикатом" (итератором) еще что-то сделать. Например, next(): t=map(int, '11 20'.split()) a=next(t) #a=11 b=next(t) #b=20 Но если рассматривать только с точки зрения значений a и b, то a,b = list(map(int, '11 20'.split())) и a,b = map(int, '11 20'.split()) будут работать одинаково. А именно, так: 1) t=iter(map(int, '11 20'.split())) # из итератора получается тот же итератор a=next(t) #a=11 b=next(t) #b=20 2) t=iter(list(map(int, '11 20'.split()))) # из списка получается итератор a=next(t) #a=11 b=next(t) #b=20

  • @sng-vv

    @sng-vv

    Жыл бұрын

    @@olegkomlev спасибо за ответ, разобрался =)

  • @studyhard8380
    @studyhard83802 жыл бұрын

    Извиняюсь за тупой вопрос, я вот не понимаю как b[i][j] ссылается на элементы списка, в с списке b

  • @selfedu_rus

    @selfedu_rus

    2 жыл бұрын

    смотрите еще раз списки и вложенные списки

  • @perf2.078

    @perf2.078

    2 жыл бұрын

    индексы те же самые, что и для а, они же "симметрично" складываются

  • @asfdasdf9019

    @asfdasdf9019

    Жыл бұрын

    тоже наглухо не вдупляю каким образом for i in a работает в списке b ?! но работает!.....бля..я тупой ток щас дошло :) оно никуда не ссылается, а тупо подставляет значения хранящиеся в этих переменных.

  • @nomadicus77
    @nomadicus77 Жыл бұрын

    А разве нельзя было сделать одним циклом чтобы заменить 2 пробела, нужно было именно использовать 2?

  • @selfedu_rus

    @selfedu_rus

    Жыл бұрын

    там задача для удаления произвольного числа подряд идущих пробелов, а для этого уже нужен вложенный цикл while

  • @user-ji1dh9km7r
    @user-ji1dh9km7r Жыл бұрын

    for i in range(1,100): for j in range(0,10): print(i,j,sep='') получается список от числа 10до999 ыыыы

  • @vieslavjastrzembskij6436
    @vieslavjastrzembskij6436 Жыл бұрын

    Здравствуйте,а где вы берете практические задания,вы все говорите,после каждого ролика,практические задания,практические задания,а где они?подскажыте пожалуйста

  • @selfedu_rus

    @selfedu_rus

    Жыл бұрын

    stepik.org/course/100707/

  • @user-qj8fv8zd1f
    @user-qj8fv8zd1f8 ай бұрын

    18.12 Я один не понял зачем нам после того, как мы уже перебрали наш список А и поменяли местами элементы, зачем нам испол зевать цикл для вывода на экран ? Почему нел зя просто написать print(A) ?

  • @selfedu_rus

    @selfedu_rus

    8 ай бұрын

    Можно и так, просто через for матрица выводится в виде таблицы.

  • @user-qj8fv8zd1f

    @user-qj8fv8zd1f

    8 ай бұрын

    @@selfedu_rus Спасибо за ответ)

  • @ney107-iz6xl
    @ney107-iz6xl9 ай бұрын

    Почему вы не объясняете почему нужно индексы добавлять как они работают Для меня эта тема не понятно иза плохого объяснение остальные до 50 урока понятны

  • @user-vi4yk4iv3n
    @user-vi4yk4iv3n2 жыл бұрын

    Вот вообще эту тему не понимаю. Как-то аж желание пропало продолжать. Математику забыла и лень вспоминать...Все эти матрицы и прочее

  • @itsI-bb6pm

    @itsI-bb6pm

    5 ай бұрын

    +

  • @ney107-iz6xl
    @ney107-iz6xl10 ай бұрын

    Последний код улучшенный Плюс с объяснениями Здесь мы определили матрицу «A» 4x4 как список списков, где каждый внутренний список представляет строку матрицы. Теперь перейдем к основной части кода: питон Скопировать код # Перебираем строки для i в диапазоне (len(A)): Мы используем цикл for для перебора строк матрицы. Переменная «i» используется в качестве индекса строки и повторяется от 0 до 3, поскольку в матрице «A» четыре строки. питон Скопировать код # Перебираем столбцы, начиная со второго столбца (индекс 1) для j в диапазоне (1, len(A[i])): Внутри цикла строк у нас есть еще один цикл for. Этот внутренний цикл используется для перебора столбцов каждой строки, начиная со второго столбца (индекс 1). Мы используем переменную «j» для представления индекса столбца. питон Скопировать код # Поменять местами элементы в одной строке А[i][1], А[i][j] = А[i][j], А[i][1] Внутри внутреннего цикла у нас есть строка, выполняющая операцию замены. Он меняет местами элементы в одной строке: элемент в столбце 1 (A[i][1]) заменяется элементом в столбце «j» (A[i][j]). Это эффективно переупорядочивает элементы внутри каждой строки. После того, как эти замены будут применены ко всем строкам и столбцам, в матрице «А» элементы в каждой строке будут переупорядочены. Наконец, мы печатаем модифицированную матрицу «А» в табличном формате: питон Скопировать код # Распечатываем модифицированную матрицу для r в A: для x в r: print(x, end='\t') Распечатать() Мы используем вложенные циклы для перебора строк и столбцов модифицированной матрицы «A» и печати каждого элемента, разделенного табуляцией («\t»). В результате табличное представление измененной матрицы выводится на консоль. Таким образом, этот код правильно меняет местами элементы в одной строке матрицы «А» 4x4, а затем отображает измененную матрицу в табличном формате.

  • @bazbazis8705
    @bazbazis87052 жыл бұрын

    8:14 почему b[i][j]???????????? почему 2 индекса????? вообще ничего не понятно PS разобрался, только ни в одном предыдущем уроке про двойной индекс ни слова!!!!!!!

  • @albert_turchinov
    @albert_turchinov Жыл бұрын

    дибильный текст, как же без дешевого российского патриотизма

  • @Himera1983
    @Himera19833 ай бұрын

    ОБЪЯСНИТЕ ! почему r.append(x + b[ i ] [ j ] ) сработало ? Мы не переберали b в методе enemerate( ) и не создавали для них i и j / Почему эти i и j стали индексом и значением переменной списка b ? . Вы да и вообще никто и книги это не показали и не пояснили этот момент. Почему append принимает такое выражение. Может если два одинаковых списка и один мы перебрали и создали переменные i и j то что они становиться по умолчанию индексом и значением с такими названиями переменных в фор и для B ????????

  • @swaytornado8327
    @swaytornado8327 Жыл бұрын

    Здравствуйте. Выполняю пример с вашего урока, ввожу то же самое, выдаёт ошибку: A = [[2, 6, 8], [4, 12, 6], [8, 10, 14], [32, 43, 23]] for i in range(len(A)): for j in range(i + 1, len(A)): A[i][j], A[j][i] = A[j][i], A[i][j] for r in A: for x in r: print(x, end='\t') print() Traceback (most recent call last): File "C:\Program Files\JetBrains\PyCharm Community Edition 2022.1.3\plugins\python-ce\helpers\pydev\pydevd.py", line 1491, in _exec pydev_imports.execfile(file, globals, locals) # execute the script File "C:\Program Files\JetBrains\PyCharm Community Edition 2022.1.3\plugins\python-ce\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile exec(compile(contents+" ", file, 'exec'), glob, loc) File "C:/Users/swayt/PycharmProjects/pythonAnton/ex1.py", line 419, in for j in range(i + 1, len(A)): IndexError: list index out of range Может, вы подскажете, что не так, чего я не вижу? Спасибо. Версия Python 3.10.

  • @user-hq3vt2ug9w

    @user-hq3vt2ug9w

    Жыл бұрын

    У вас матрица не квадратная, и во втором вложенном цикле нужно брать не len(A), a len(A[0]). Но в данной программе это не поможет. Нужна исходно квадратная матрица.

  • @olegkomlev

    @olegkomlev

    Жыл бұрын

    @@user-hq3vt2ug9w Транспонировать можно и не квадратную матрицу. Но в таком случае может измениться не только содержимое, но и размеры. Так из матрицы 4х3 получится матрица 3х4. Но алгоритм должен быть другой , перестановкой элементов этого не сделать. Вот и получилась интересная задача для начинающих - транспонировать произвольную прямоугольную матрицу.

  • @ibrahimoglu
    @ibrahimoglu2 жыл бұрын

    👍

Келесі