Събиране на матрици - двумерен масив

Събиране на две матрици се извършва при равни размери - броя редове и колони в двете матрици (двумерен масив) са съответно равни. Елементите на новополучената матрица (сбора) имащи същите индекси, са равни на сбора на съответните елементи от събираните матрици. Това позволява с два вложени цикъла да се обходят всички елементи с едни и същи индекси и да се натрупа сумата им. В приложения пример се ползва структура данни от тип двумерен масив. При деклариране на всеки двумерен масив се указват равен брой редове и колони - като константи. В приложения пример са въведени предварително стойностите на елементите в двата двумерни масива - двете матрици, които ще се събират. Ако се промени броя на редове или колони трябва да се въведат и съответния брой стойности за всеки двумерен масив. Реализирана програма предоставя възможност за генериране на псевдослучайни числа като стойност на елементи във всяка матрица или да се въвежда ръчно стойност за всеки елемент.

 
Следващата примерна програма дава решена задача за събиране на матрици:
 
#include <iostream>

using namespace std;


//obs-br=3 - pyrwata matrica e s 4 reda 3 koloni, a wtorata s 3 reda 2 koloni

int main()

{   int const br_red=4, br_kol=2, razmer=10;

//razmerite za broj redowe i koloni sa deklarirani kato konstanti

//wywevdane stojnosti na elementi move da se osyshestwi:

//a) pri deklarirane; b) da se wywevdat ot klawiaturata; c) kato sluchajni chisla            


 

    int mas1[br_red][br_kol] = { {1,7}, {4,0},{9,4}, {8,8} };

    int mas2[br_red][br_kol] = { {2,4}, {5,5},{1,7}, {1,1} };

    int mas3[br_red][br_kol];

    int i,j, suma;

   cout<<"Imate dwe matrici s razmeri [4][2], sydyrvashi estestweni\n";

   cout<<"chisla ot interwala [0..9]. Da se systawi programa, chez koqto se\n";


   cout<<"wywevdat stojnosti na elementi w dwete matrici i se izwevda\n";

   cout<<"rezlultata ot tqhnoto symirane.\n";

 

//inicializirane na nowiq masiw - wsichki elementi da sa 0    

   for( i = 0; i < br_red; i++) 

    { for( j = 0; j < br_kol; j++) { mas3[i][j]=0; }  


    }//for i

    

//Priswoqwane/wywevdane i pechat stojnostite za matrica  1

     cout<<("Stojnosti w matrica 1: \n");

     for( i = 0; i < br_red; i++) 

      {for( j = 0; j < br_kol; j++) 


       {//cout<<"Wywedete stojnost za element ["<<i<<"]["<<j<<"]: ";cin>>mas1[i][j];

     mas1[i][j]=rand()%razmer;//sluchajni chisla ot interwala

     cout<<" "<<mas1[i][j];} //izwevda stojnostta za wseki otdelen element

     cout<<endl;


    }  //for i

       

//Priswoqwane/wywevdane i pechat stojnostite za matrica 2       

   cout<<("Stojnosti w matrica 2: \n");

   for( i = 0; i < br_red; i++) 

   {for( j = 0; j < br_kol; j++) 


    { //cout<<"Wywedete stojnost za element ["<<i<<"]["<<j<<"]: ";cin>>mas2[i][j];

    mas2[i][j]=rand()%razmer;//sluchajni chisla ot interwala    

    cout<<" "<<mas2[i][j];}  //izwevda stojnostta za wseki otdelen element

    cout<<endl;


    }//for i

      

    cout<<("Rezultatyt ot sybiraneto na dwete matrici e matrica 3: \n");    

//sumirane na matricite element po element  

   for( i = 0; i < br_red; i++) 

   {for( j = 0; j < br_kol; j++) 


    { //sumata e suma ot elementi s ednakwi indeksi

    cout<<mas1[i][j]<<" + "<<mas2[i][j];

    suma=mas1[i][j] + mas2[i][j];

    mas3[i][j] += suma;// suma ot elementi

    cout<<" = "<<mas3[i][j]<<"; ";


    }//for j  

     cout<<endl;

    }//for i

      cout<<("Stojnosti na elementi w matrica 3: \n");   

   for( i = 0; i < br_red; i++) 

    {for( j = 0; j < br_kol; j++) 


     { //sumata e suma ot elementi w dwete matrici s ednakwi indeksi

       cout<<mas3[i][j]<<" ";

      }//for j  

     cout<<endl;

 }//for i


  system("pause");


  return 0;  


} // kraj na programa matrica suma 

Обяснени и решени задачи с подобни алгоритми, функции и служебни думи са разгледани в страницата с електронни уроци по информатика - програмиране.
Илюстриране работата на характерни алгоритми можете да намерите в предоставените електронни помагала съдържащи решени задачи, примери.

Начало на страницата

 
Размер на шрифта
Increase Font Size Option 3 Reset Font Size Option 3 Decrease Font Size Option 3
Bulgarian Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish
Търсене в сайта: