اذهب إلى المحتوى
  • 0

حساب مجموع الصفوف والأعمدة في المصفوفة ثنائية البعد - بايثون

Hoida Ahamed

السؤال

Recommended Posts

  • 1

في بايثون:

#تعرف مصفوفة  
import numpy as np
arr =np.array([[8, 2, 7],[0, 4, 1],[1, 9, 0]])  
# حساب عدد الأسطر والأعمدة في المصفوفة
r,c=arr.shape
# حساب مجموع عناصر كل عمود
for i in range(0, r):  
    sum_ = 0;  
    for j in range(0, c):  
        sum_ = sum_ + arr[j][i];  
    print(" column"+str(i+1)+": " + str(sum_));
print("\n")    
# حساب مجموع عناصر كل صف
for i in range(0, r):  
    sum_ = 0;  
    for j in range(0, c):  
        sum_ = sum_ + arr[i][j];  
    print(" row"+str(i+1)+": " + str(sum_));  
"""
 column1: 9
 column2: 15
 column3: 8


 row1: 17
 row2: 5
 row3: 10

"""

جافا:

public class javaapplication1  
{  
    public static void main(String[] args) {  
        int r, c;            
        // تعريف المصفوفة
        int arr[][] = { {1, 2, 3},  {4, 5, 6},  {7, 8, 9}  }; 
        // مجموع كل عمود
        for(int i = 0; i < cols; i++){   
            for(int j = 0; j < rows; j++){  
              sumC = sumC + a[j][i];  
            }  
            System.out.println(" column"+(i+1)+": " + sumC);  
        }  
        // مجموع كل سطر 
        int sumC=0,sumR=0;
        for(int i = 0; i < arr.length; i++){    
            for(int j = 0; j < arr[0].length; j++){  
              sumR = sumR + a[i][j];  
            }  
            System.out.println(" row"+(i+1)+": " + sumR);  
        }  
    }
}

وفي ++C وباقي اللغات يكون بنفس الطريقة

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1
بتاريخ 7 ساعات قال Hoida Ahamed:

يقوم المستخدم بادخال الصفوف والاعمدة

في جافا:

package javaapplication19;
import java.util.*;
public class JavaApplication19 {
    public static void main(String[] args) {
            Scanner sc=new Scanner(System.in);     
            // إدخال عدد الأسطر وعدد الأعمدة
            int rows=sc.nextInt();
            int cols=sc.nextInt();
            // تعريف مصفوفة من الأعداد الصحيحة
            int arr[][]=new int[rows][cols];
            // إدخال العناصر
            for(int i=0; i<rows;i++)
            {            
                for(int j=0; j<cols;j++)
                {
                   arr[i][j]=sc.nextInt();
                }
            }
            int sumC=0,sumR=0; 
            // مجموع كل سطر  
            for(int i = 0; i < cols; i++){ 
                sumR=0;
                for(int j = 0; j < rows; j++){  
                  sumR = sumR + arr[i][j];  
                }  
                System.out.println("row"+(i+1)+": " + sumR);  
            }  
            // مجموع كل عمود
            for(int i = 0; i < cols; i++){   
                sumC=0;
                for(int j = 0; j < rows; j++){  
                  sumC = sumC + arr[j][i];  
                }  
                System.out.println("column"+(i+1)+": " + sumC);  
            } 		                
	}
}

بايثون:

#تعرف مصفوفة  
import numpy as np 
# إدخال عدد الأسطر فقط
r=int(input())
# إدخال عناصر المصفوفة 
arr = [list(map(int,input().split())) for i in range(r)]
# حساب مجموع عناصر كل عمود
for i in range(0, r):  
    sum_ = 0;  
    for j in range(0, c):  
        sum_ = sum_ + arr[j][i];  
    print(" column"+str(i+1)+": " + str(sum_));
print("\n")    
# حساب مجموع عناصر كل صف
for i in range(0, r):  
    sum_ = 0;  
    for j in range(0, c):  
        sum_ = sum_ + arr[i][j];  
    print(" row"+str(i+1)+": " + str(sum_)); 

هناك طرق أخرى للإدخال في بايثون لكنني أخترت لك طريقتي التي كنت استخدمها (وهي الأفضل) في مسابقات البرمجة التنافسية وعلى موقع CodeForces لكن انتبه، هنا يكون إدخال عناصر المصفوفة بشكل مختلف قليلاً حيث يتم الإدخال سطر سطر ولهذا السبب لم نطلب إدخال عدد الأعمدة.أي مثلاُ حددنا 3 أسطر وبالتالي ندخل قيم كامل السطر الأول دفعة واحدة ونفصل بينهم بفراغات، أي مثلاً: 1 2 3 ثم نضغط enter ثم 5 6 4 ثم Enter ثم 4 6 6 ثم Enter  وبالتالي نكون أدخلنا مصفوفة ب 3 أسطر و 3 أعمدة.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 2 ساعات قال Hoida Ahamed:

حساب مجموع الصف في المصفوفة ثناءية البعد

حساب مجموعالعمود في المصفوفة ثناءية البعد

يقوم المستخدم بادخال الصفوف والاعمدة

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 4 ساعات قال Hoida Ahamed:

يقوم المستخدم بادخال الصفوف والاعمدة

إن كانت لغة البرمجة ++C يمكنك استخدام cin لقراءة دخل المستخدم.

ولتكرار العملية لكل العناصر نضع cin ضمن حلقتي for للمرور على عناصر المصفوفة الثنائية و نطبق cin لكل عنصر منها، هي مشابهة امثال لغة جافا في التعليق السابق.. حاولي تطبيق الشرح و البحث في الانترنت و إن احتجت لمساعدة أرجو إرفاق الشيفرة الاي قمت بكتابتها لنساعدك.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...