Jump to content

Recommended Posts

Posted

Dupa ce am calculat cu o functie elementul minim dintr-o matrice, se ce afisarea matricei fara acea linia si coloana pe care se afla elementul de minim. Am memorat pozitia in 2 variabile, dar stiu ca afisarea se facea cu 2 for-uri si nu stiu cum sa pun conditiile. Solutii?

Posted

Matrice 3x3 :

 

2   5   6

7   9   1

6   5   2

 

Minimul tau e 1. Coodonatele lui a=2,b=3 (linia 2,coloana 3).

 

Faci cele 2 foruri care sa parcurga matricea si pui conditia ca acele elemente ale matricii sa nu se afle pe linia a sau cooana b.

for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
if(i != a && b !=j)
cout<<v[i][j]<<" ";
cout<<"n";
}
  • Upvote 1
Posted
#include<iostream>
using namespace std;
int main()
{
    int a[50][50],i,j,n,min=0,pozi=0, pozj=0;
    cout<<"cate linii/coloane?";
    cin>>n;
    for (i=1; i<=n; i++)
        for (j=1; j<=n; j++)
    {
        cout<<"a["<<i<<"]["<<j<<"]=";
        cin>>a[i][j];
    }
    min=a[1][1];
    for (i=1; i<=n;i++)
        for (j=1; j<=n; j++){
                if (min>a[i][j])
                min=a[i][j];
                pozi=i;
                pozj=j;
        }
    cout<<min;
    cout<<"i= "<<pozi<<"    j= "<<pozj;
    return 0;
}

Nu-mi merge. :(

Posted

ai initializat min cu 0. Daca matricea ta nu are numere mai mici ca 0, ala o sal considere ca fiind minimul..deci va afisa 0 ca fiind minimul.


Deasemenea, pune acolade peste tot. Chiar daca ai doar o instructiune. 

 

la ultimul tau IF ai uitat sa pui {} asa ca mini si minj vor lua toate valoriile pe rand, si vor fi 'n' la sfarsit.

  • Upvote 1

love is a verb
Love is a doing word

Posted

El initializeaza minimul cu 0 in prima fraza ,dar dupa ce citeste matricea il initializeaza cu primul element din matrice.

Da, acolo la if trebuie acoladele ca sa mearga.

 

Totusi, ziceai ca vrei sa afisezi matricea(fara acea linie+coloana) ,dar in final ai afisat doar minimul si coordonatele.

  • 2 weeks later...
Posted

In unele probleme , iti cere sa elimini liniile sau coloanele  , iar procedeul se puncteaza . (la admitere , bac). Am facut eu repede un program care face toate alea .

 

 

Ma mir ca nu a intervenit Courage  inca cu o rezolvare .

#include <fstream>

using namespace std;
ifstream f ("date.in");
ofstream h ("date.out");
int min1,a[100][100],m,k,i,lin,j,col,n;

int main()
{  f>>n>>m; //urmeaza citirea matricei

   for(i=1;i<=n;i++)
   for(j=1;j<=m;j++)
     f>>a[i][j];

min1=a[1][1];      //determinarea minimului
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(min1> a[i][j])
{
min1=a[i][j];
lin=i;
col=j;
}


for(i=lin;i<n;i++) //eliminarea liniei
for(j=1;j<=m;j++)
a[i][j]=a[i+1][j];
n--;

for(j=col;j<m;j++) //eliminarea coloanei
for(i=1;i<=n;i++)

a[i][j]=a[i][j+1];
m--;

for(i=1;i<=n;i++)  //afisarea matricei obtinute

  {for(j=1;j<=m;j++)
     h<<a[i][j]<<" ";
     h<<endl;}
}

b_350_20_323957_202743_F19A15_111111.png

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.