Probleme de informatică
  Clasa a IX-a
1. Elementele de bază ale limbajului C++ (instructiunile limbajului) (46)
2. Subprograme predefinite (1)
3. Tablouri (145)
4. Fişiere text (2)
5. Algoritmi elementari (106)
6. Probleme diverse (13)
  Clasa a X-a
1. Subprograme definite de utilizator (87)
2. Şiruri de caractere (47)
3. Înregistrări (26)
4. Recursivitate (57)
5. Combinatorica (0)
6. Alocarea dinamică a memoriei (2)
7. Liste înlănţuite (25)
8. Algoritmul lui Lee (1)
  Clasa a XI-a

1. Metoda "Divide et impera" (12)
2. Metoda Backtracking (85)
3. Metoda Greedy (6)
4. Programare dinamică (18)
5. Grafuri neorientate (37)
6. Grafuri orientate (38)
7. Arbori (33)

  Clasa a XII-a
1. Elemente de baza C# (32)
2. POO in C# (13)
3. C# - Windows Form Application (24)
4. Admitere UBB (18)

   Home Tablouri Bacalaureat 2016   |   Variante bacalaureat 2009   |   Atestat  |   Olimpiada       
Noutăţi
Subiecte admitere la Facultatea de informatica UBB Cluj-Napoca
Subiecte bacalaureat 2010-2018
Bacalaureat 2018 - competenţe digitale
C# - Windows Form Application - exemple
Modele de proiecte de atestat
Bacalaureat 2018
Subiecte si rezolvări 2010-2018
Rezolvari variante bacalaureat 2009
Competenţe digitale
Examen atestat
Rezumat documentatie
php.doc
css.doc
exemple_php_si_css.rar
Modele de proiecte de atestat
Olimpiada
Clasele V-VI
Clasele VII-VIII
Clasa a IX-a
Clasa a X-a
Clasele XI-XII
Noţiuni teoretice
Metode de sortare
Metoda backtracking


Lucrare matrici nepatratice IX B Randul 2
Se citeste o matrice cu n linii si m coloane, n si m numere impare (n,m<=100) cu elemente numere naturale din intervalul [0,1000].
a) Calculati si afisati elementul maxim din matrice.
b) Afisati pe cate linii se afla maximul.
c) Afisati liniile care au elementele in ordine strict crescatoare.
d) Afisati in orice ordine elementele care sunt unice pe coloana lor.
e) Stergeti linia de la mijlocul matricii si afisati matricea rezultata.
Exemplu:
date de intrare:
5 7
1 2 3 4 6 7 2
5 4 6 0 6 5 4
6 5 7 4 7 7 5
3 4 3 4 2 4 5
1 2 3 4 5 6 5
date de iesire:
7 (a)
2 (b)
1 2 3 4 5 6 7 (c)
3 5 6 5 6 7 0 2 5 7 4 5 6 2 4 7 sau 2 5 6 0 5 4 6 5 7 7 3 2 4 5 6 7 (d)
1 2 3 4 6 7 2 (e)
5 4 6 0 6 5 4
3 4 3 4 2 4 5
1 2 3 4 5 6 7


#include <fstream>
using namespace std;
ifstream fin("matrice.in");
ofstream fout("matrice.out");

int main()
{
    int n,m,A[101][101];
    fin>>n>>m;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            fin>>A[i][j];
    //cerinta a: elementul maxim din matrice
    int max=0;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            if(A[i][j]>max) max=A[i][j];
    fout<<max<<endl;
    //cerinta b: pe cate linii se afla maximul
    int c=0;
    for(int i=1;i<=n;i++)
    {
        int gasit=0;
        for(int j=1;j<=m;j++)
            if(A[i][j]==max) gasit=1;
        if(gasit==1) c++;
    }
    fout<<c<<endl;
    //cerinta c: afisare linii cu elementele in ordine strict crescatoare
    for(int i=1;i<=n;i++)
    {
        int ok=1;
        for(int j=1;j<m;j++)
            if(A[i][j]>=A[i][j+1]) ok=0;
        if(ok)
        {
            for(int j=1;j<=m;j++)
                fout<<A[i][j]<<" ";
            fout<<endl;
        }
    }
    //cerinta d: elementele care sunt unice pe coloana lor
    //cu vector de frecventa
    for(int j=1;j<=m;j++)
    {
        int F[1001]={0};
        for(int i=1;i<=n;i++)
            F[A[i][j]]++;
        for(int v=0;v<=1000;v++)
            if(F[v]==1) fout<<v<<" ";
    }
    fout<<endl;
    //cu numarare aparitii
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
        {
            int x=0;
            for(int k=1;k<=n;k++)
                if(A[i][j]==A[k][j]) x++;
            if(x==1) fout<<A[i][j]<<" ";
        }
    fout<<endl;
    //cu verificare ca e unic prin reducere la absurd
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
        {
            int ok=1;
            for(int k=1;k<=n;k++)
                if(i!=k && A[i][j]==A[k][j]) ok=0;
            if(ok==1) fout<<A[i][j]<<" ";
        }
    fout<<endl;
    //cerinta e: stergerea liniei de la mijlocul matricii
    for(int i=n/2+1;i<n;i++)
        for(int j=1;j<=m;j++)
            A[i][j]=A[i+1][j];
    n--;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
            fout<<A[i][j]<<" ";
        fout<<endl;
    }
    return 0;
}


  Clasa a IX-a
1. Elementele de bază ale limbajului C++ (instructiunile limbajului) (46)
2. Subprograme predefinite (1)
3. Tablouri (145)
4. Fişiere text (2)
5. Algoritmi elementari (106)
6. Probleme diverse (13)
  Clasa a X-a
1. Subprograme definite de utilizator (87)
2. Şiruri de caractere (47)
3. Înregistrări (26)
4. Recursivitate (57)
5. Combinatorica (0)
6. Alocarea dinamică a memoriei (2)
7. Liste înlănţuite (25)
8. Algoritmul lui Lee (1)
  Clasa a XI-a

1. Metoda "Divide et impera" (12)
2. Metoda Backtracking (85)
3. Metoda Greedy (6)
4. Programare dinamică (18)
5. Grafuri neorientate (37)
6. Grafuri orientate (38)
7. Arbori (33)

  Clasa a XII-a
1. Elemente de baza C# (32)
2. POO in C# (13)
3. C# - Windows Form Application (24)
4. Admitere UBB (18)

Calculatoare si accesorii second hand
Copyright 2009-2017 Muresan Vasile Ciprian - mcip.ro