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

طباعة قيمة مجموع كل عمود من مصفوفه ثنائيه بلغة ++c

Zahoor

السؤال

Recommended Posts

  • 0
#include <iostream>
using namespace std;
int main()
{
    const int row =5;
    const int col =4;
    int r[row][col]; 
    cout << "\n\nEnter (" << row * col<< ") numbers please :\n";
    
    int i, j ,f=1 , s1=0,s2=0,s3=0,s4=0;
    for (i = 0; i < row; i++)
    {
        for (j = 0; j < col; j++)
        {
            cout << "\nEnter number ( " << f++ << " ) ";
            cin >> r[i][j];
        }}
            for (i = 0; i < row; i++)
    {
        for (j = 0; j < col; j++)
        {
            cout<<r[i][j]<<"  ";
        }
        cout<<endl<< endl;
        }
        
        
        for (i = 0; i < row; i++)
    {
        for (j = 0; j < col; j++)
    { if (j==0)
s1+=r[i][j];}}
cout<<"sum col 1"
      "="<<s1;
             cout<<endl;    
        
        for (i = 0; i < row; i++)
    {
        for (j = 0; j < col; j++)
    { if (j==1)
s2+=r[i][j];}}
cout<<"sum col 2"
      "="<<s2;
   cout<<endl;           
        
        for (i = 0; i < row; i++)
    {
        for (j = 0; j < col; j++)
    { if (j==2)
s3+=r[i][j];}}
cout<<"sum col 3"
      "="<<s3;
      
      cout<<endl;        
        
        for (i = 0; i < row; i++)
    {
        for (j = 0; j < col; j++)
    { if (j==3)
s4+=r[i][j];}}
cout<<"sum col 4"
      "="<<s4;
}
بتاريخ 11 ساعات قال Wael Aljamal:

عليك محاولة كتابة البرنامج، ثم نساعدك في تصويب الأخطاء

تـمام 

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

  • 0
بتاريخ 40 دقائق مضت قال Zahoor:

تـمام 

إن برنامجك يعمل بشكل صحيح، هل ليدك تعليق على النتيجة أو الخوارزمية التي تتبعها؟

QWQWEQWEWQE.jpg

التعديل الذي يمكن أن تعمله، هو تجميع الأعمدة في مصفوفة، نفس مبدأ تخزين الأعداد ضمن مصفوفة، لكل قيمة ل J و من خلال مرور واحد على المصفوفة، يمكن تطبيق الجمع للعنصر الموافق في مصفوفة المجموع

  • تعريف المصفوفة s 
  • جمع العنصر الحالي لنفس دليل j من s
    int  s[col] = {0};

    for (i = 0; i < row; i++)
    {
        for (j = 0; j < col; j++)
        {

            s[j]+=r[i][j];   // إضافة المجموع حسب J
        }
    }
    for (j = 0; j < col; j++)
    {

        cout<<"sum col " << j+1 << " = "<<s[j];
        cout<<endl;
    }

 

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

  • 0
بتاريخ 2 ساعات قال Wael Aljamal:

إن برنامجك يعمل بشكل صحيح، هل ليدك تعليق على النتيجة أو الخوارزمية التي تتبعها؟

QWQWEQWEWQE.jpg

التعديل الذي يمكن أن تعمله، هو تجميع الأعمدة في مصفوفة، نفس مبدأ تخزين الأعداد ضمن مصفوفة، لكل قيمة ل J و من خلال مرور واحد على المصفوفة، يمكن تطبيق الجمع للعنصر الموافق في مصفوفة المجموع

  • تعريف المصفوفة s 
  • جمع العنصر الحالي لنفس دليل j من s

    int  s[col] = {0};

    for (i = 0; i < row; i++)
    {
        for (j = 0; j < col; j++)
        {

            s[j]+=r[i][j];   // إضافة المجموع حسب J
        }
    }
    for (j = 0; j < col; j++)
    {

        cout<<"sum col " << j+1 << " = "<<s[j];
        cout<<endl;
    }

 

لو كان ادخال عدد الصفوف والاعمده من قبل المستخدم كيف سيكون شكل البرنامج

 

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

  • 0
بتاريخ 7 ساعات قال Zahoor:

لو كان ادخال عدد الصفوف والاعمده من قبل المستخدم كيف سيكون شكل البرنامج

لاحظ البرنامح، قمت بتثبيت قيمة كل من col , row والمطلوب جعل قيمتهم يدخلها المستخدم، مثلما أدخل المصفوفة. 

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

  • 0
بتاريخ 19 ساعات قال Wael Aljamal:

لاحظ البرنامح، قمت بتثبيت قيمة كل من col , row والمطلوب جعل قيمتهم يدخلها المستخدم، مثلما أدخل المصفوفة. 

#include <iostream>
  using namespace std;
int main()
{    
  int row, col;
  cout << "Dear user enter numbers of rows\n";
  cin >> row;
  cout << "\nDear user enter numbers of Column\n";
  cin >> col;    
  int r[row][col]; 
  cout << "\n\nEnter (" << row * col<< ") numbers please :\n";
  system("cls");
  int i, j ,f=1 , s1=0,s2=0,s3=0,s4=0;
  for (i = 0; i < row; i++)
  {
    for (j = 0; j < col; j++)
    {
      cout << "\nEnter number ( " << f++ << " ) ";
      cin >> r[i][j];
    }}system("cls");
  for (i = 0; i < row; i++)
  {
    for (j = 0; j < col; j++)
    {
      cout<<r[i][j]<<"  ";
    }
    cout<<endl<< endl;
  }

  int s[] = {0};

  for (i = 0; i < row; i++)
  {
    for (j = 0; j < col; j++)
    {

      s[j]+=r[i][j];   
    }
  }
  for (j = 0; j < col; j++)
  {

    cout<<"sum col " << j+1 << " = "<<s[j];
    cout<<endl;
  }    
}

هل الحل صحيح

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

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

هل الحل صحيح

الآن أصبح حجم المصفوفة لديك حسب طلب المستخدم، تمام،

لكن استبدل المتغيرات s1=0,s2=0,s3=0,s4=0; بمصفوفة من طول col لتسع لمجاميع كل الأعمدة (كل منهم على حدى)

 int s[] = {0};

يجب أن يكون طول المصفوفة col

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

  • 0

هل تقصد بهذا الشكل ولكن عند ال

بتاريخ 20 دقائق مضت قال Wael Aljamal:

الآن أصبح حجم المصفوفة لديك حسب طلب المستخدم، تمام،

لكن استبدل المتغيرات s1=0,s2=0,s3=0,s4=0; بمصفوفة من طول col لتسع لمجاميع كل الأعمدة (كل منهم على حدى)


 int s[] = {0};

يجب أن يكون طول المصفوفة col

تنفيذ يظهر هناك خطأ

بتاريخ 1 دقيقة مضت قال Zahoor:

هل تقصد بهذا الشكل ولكن عند ال

تنفيذ يظهر هناك خطأ

#include <iostream>
using namespace std;
int main()
{    
    int row, col;
        cout << "Dear user enter numbers of rows\n";
    cin >> row;
    cout << "\nDear user enter numbers of Column\n";
    cin >> col;    
    int r[row][col]; 
    cout << "\n\nEnter (" << row * col<< ") numbers please :\n";
    system("cls");
    int i, j ,f=1 ,s[] = {0};
    for (i = 0; i < row; i++)
    {
        for (j = 0; j < col; j++)
        {
            cout << "\nEnter number ( " << f++ << " ) ";
            cin >> r[i][j];
        }}system("cls");
            for (i = 0; i < row; i++)
    {
        for (j = 0; j < col; j++)
        {
            cout<<r[i][j]<<"  ";
        }
        cout<<endl<< endl;
        }
       
       int s[] = {0};

    for (i = 0; i < row; i++)
    {
        for (j = 0; j < col; j++)
        {

            s[j]+=r[i][j];   
        }
    }
    for (j = 0; j < col; j++)
    {

        cout<<"sum col " << j+1 << " = "<<s[j];
        cout<<endl;
}    }

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

  • 0
بتاريخ 3 دقائق مضت قال Zahoor:

تنفيذ يظهر هناك خطأ

يظهر C:\Users\TEC-GATE\Desktop\ALL\ELTE\az\main.cpp|32|error: conflicting declaration 'int s [col]'|

لأنك قمت بتعريف المصفوفة s مرتين

main.cpp

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

  • 0
بتاريخ On 23‏/7‏/2022 at 22:15 قال Wael Aljamal:

يظهر C:\Users\TEC-GATE\Desktop\ALL\ELTE\az\main.cpp|32|error: conflicting declaration 'int s [col]'|

لأنك قمت بتعريف المصفوفة s مرتين

main.cpp

نعم يعمل البرنامج عند حذف احدى المصفوفه s ولكن عمليه الجمع للاعمده لاتكون جميعها صحيحه 

بتاريخ 1 دقيقة مضت قال Zahoor:

نعم يعمل البرنامج عند حذف احدى المصفوفه s ولكن عمليه الجمع للاعمده لاتكون جميعها صحيحه 

#include <iostream>
using namespace std;
int main()
{    
    int row, col;
        cout << "Dear user enter numbers of rows\n";
    cin >> row;
    cout << "\nDear user enter numbers of Column\n";
    cin >> col;    
    int r[row][col]; 
    cout << "\n\nEnter (" << row * col<< ") numbers please :\n";
    system("cls");
    int i, j ,f=1 ;
    for (i = 0; i < row; i++)
    {
        for (j = 0; j < col; j++)
        {
            cout << "\nEnter number ( " << f++ << " ) ";
            cin >> r[i][j];
        }}system("cls");
            for (i = 0; i < row; i++)
    {
        for (j = 0; j < col; j++)
        {
            cout<<r[i][j]<<"  ";
        }
        cout<<endl<< endl;
        }
       
       int s[] = {0};

    for (i = 0; i < row; i++)
    {
        for (j = 0; j < col; j++)
        {

            s[j]+=r[i][j];   
        }
    }
    for (j = 0; j < col; j++)
    {

        cout<<"sum col " << j+1 << " = "<<s[j];
        cout<<endl;
}    }

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

  • 0
بتاريخ 3 دقائق مضت قال Zahoor:

صحيح ولكن كم سيكون حجم المصفوفه لان لا اعلم ما عدد الاعمده التى سيدخلها المستخدم  

 

كيف ذلك، هو يدخل عدد الأعمدة col أرفقت لك ملف في نهاية الإجابة السابقة، يمكنك تحميله وتجريبه

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

  • 0
بتاريخ منذ ساعة مضت قال Wael Aljamal:

كيف ذلك، هو يدخل عدد الأعمدة col أرفقت لك ملف في نهاية الإجابة السابقة، يمكنك تحميله وتجريبه

لقد توضح لي الامر اعرف احدد عدد المصفوفه بـ عدد الاعمده 

بتاريخ 1 دقيقة مضت قال Zahoor:

لقد توضح لي الامر اعرف احدد عدد المصفوفه بـ عدد الاعمده 

#include<iostream>
using namespace std;
int main()
{    
    int row, col;
        cout << "Dear user enter numbers of rows\n";
    cin >> row;
    cout << "\nDear user enter numbers of Column\n";
    cin >> col;    
    int r[row][col]; 
    cout << "\n\nEnter (" << row * col<< ") numbers please :\n";
    system("cls");
    int i, j ,f=1,sum[col] ;
    for (i = 0; i < row; i++)
    {
        for (j = 0; j < col; j++)
        {
            cout << "\nEnter number ( " << f++ << " ) ";
            cin >> r[i][j];sum[j]=0;
        }}system("cls");
            for (i = 0; i < row; i++)
    {
        for (j = 0; j < col; j++)
        {
            cout<<r[i][j]<<"  ";
        }
        cout<<endl<< endl;
        }
       
       

    for (i = 0; i < row; i++)
    {
        for (j = 0; j < col; j++)
        {

            sum[j]+=r[i][j];   
        }
    }
    for (j = 0; j < col; j++)
    {

        cout<<"sum col " << j+1 << " = "<<sum[j];
        cout<<endl;
}    } 

بتاريخ منذ ساعة مضت قال Zahoor:

صحيح ولكن كم سيكون حجم المصفوفه لان لا اعلم ما عدد الاعمده التى سيدخلها المستخدم  

 

 

بتاريخ منذ ساعة مضت قال Wael Aljamal:

كيف ذلك، هو يدخل عدد الأعمدة col أرفقت لك ملف في نهاية الإجابة السابقة، يمكنك تحميله وتجريبه

شكرا لتوضيح لحل هذا البرنامج ولكن ممكن اعرف ماهي الخوارزميه التي تتبعها

تم التعديل في بواسطة Zahoor
رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...