কম্পিউটার

পাইথন ব্যবহার করে একটি বাইনারি ম্যাট্রিক্সে বিশেষ অবস্থানের সংখ্যা খুঁজে বের করার প্রোগ্রাম


ধরুন আমাদের m x n এর একটি বাইনারি ম্যাট্রিক্স আছে, আমাদের ম্যাট্রিক্সে বিশেষ অবস্থানের সংখ্যা বের করতে হবে। একটি অবস্থান (i,j) একটি বিশেষ অবস্থান যখন mat[i,j] =1 এবং সারির i এবং কলাম j এর অন্যান্য সমস্ত উপাদান 0 হয়।

সুতরাং, যদি ইনপুট মত হয়

৷ ৷ ৷ ৷
1 0 0 0 0
0 0 10 0
0 0 0 11
0 10 0 0

তাহলে আউটপুট হবে 3, এখানে বিশেষ অবস্থানগুলি হল (0, 0), (1,2) এবং (3,1)।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • বিশেষ :=0

  • ম্যাট্রিক্সের 0 থেকে সারি গণনার রেঞ্জের জন্য, করুন

    • যদি সারি ম্যাট্রিক্স[i]-এ 1s-এর সংখ্যা 1 হয়, তাহলে

      • numOfOne :=0

      • indexOfOne :=ম্যাট্রিক্সে 1 এর অবস্থান[i]

      • ম্যাট্রিক্সের 0 থেকে কলামের আকারের মধ্যে j এর জন্য, করুন

        • যদি ম্যাট্রিক্স[j, indexOfOne] 1 এর মত হয়, তাহলে

          • numOfOne :=numOfOne + 1

        • যদি numOfOne> 1 হয়, তাহলে

          • লুপ থেকে বেরিয়ে আসুন

      • যদি numOfOne 1 এর মত হয়, তাহলে

        • বিশেষ :=বিশেষ + 1

  • রিটার্ন স্পেশাল

উদাহরণ (পাইথন)

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

def solve(matrix):special =0 for i in range(len(matrix)):if matrix[i].count(1) ==1:numOfOne =0 indexOfOne =matrix[i].index(1 ) রেঞ্জে j এর জন্য(len(matrix)):if matrix[j][indexOfOne] ==1:numOfOne +=1 যদি numOfOne> 1:ব্রেক যদি numOfOne ==1:বিশেষ +=1 রিটার্ন স্পেশালম্যাট্রিক্স =[[1 ,0,0,0,0], [0,0,1,0,0], [0,0,0,1,1], [0,1,0,0,0]]মুদ্রণ(সমাধান( ম্যাট্রিক্স))

ইনপুট

<পূর্ব>[[1,0,0,0,0],[0,0,1,0,0],[0,0,0,1,1],[0,1,0,0,0 ]]

আউটপুট

3

  1. পাইথন ব্যবহার করে একটি বাইনারি গ্রিড সাজানোর জন্য সর্বনিম্ন অদলবদল খুঁজে বের করার প্রোগ্রাম

  2. পাইথনে একটি প্রদত্ত ম্যাট্রিক্স থেকে nতম ক্ষুদ্রতম সংখ্যা বের করার প্রোগ্রাম

  3. একটি ম্যাট্রিক্সের স্থানান্তর খুঁজে পেতে পাইথন প্রোগ্রাম

  4. বাইনারি ম্যাট্রিক্সে ডুপ্লিকেট সারি খুঁজতে পাইথন প্রোগ্রাম লিখুন