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 Subprograme 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


Din fisierul colmaxvecini.in se citesc doua numere naturale n si m (n<=100) si apoi se citeste o matrice cu n linii si m coloane avand elemente numere naturale cu cel mult 6 cifre fiecare. Afisati in fisierul colmaxvecini.out numarul de coloane pe care se afla un numar maxim de elemente cu proprietatea ca sunt mai mari decat toti vecinii lor. Se considera vecini elementele alaturate pe linie sau pe coloana.
Se vor scrie si folosi functii pentru:
- citirea matricii
- verificarea daca un element din matrice e mai mare decat toti vecinii sai
- determinarea numarul de elemente de pe o coloana care sunt mai mari decat toti vecinii lor
- determinarea numarul maxim de elemente de pe o coloana care sunt mai mari decat toti vecinii lor
- determinarea numarului de coloane care respecta cerinta problemei.
Exemplu:
colmaxvecini.in
5 6
11 21 909 343 200 900
500 11 200 33 343 200
909 11 901 33 343 901
109 2 35 47 5 67
909 121 901 323 343 901
colmaxvecini.out
2
Coloanele care respecta cerinta sunt cele cu numerele de ordine 3 si 6 (numerotarea incepe de la 1).



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

int A[101][101],n,m;

void citire(int A[][101], int &n, int &m)
{
    fin>>n>>m;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            fin>>A[i][j];
}

int maimare(int A[][101], int i, int j)
{//verifica daca A[i][j] e mai mare decat toti vecinii sai
    return A[i][j]>A[i-1][j] && A[i][j]>A[i+1][j] && A[i][j]>A[i][j-1] && A[i][j]>A[i][j+1];
}

int maimarecol(int A[][101], int n, int j)
{//numara cate elemente de pe coloana j sunt mai mari decat toti vecinii lor
    int c=0;
    for(int i=1;i<=n;i++)
        if(maimare(A,i,j)) c++;
    return c;
}

int maxcol(int A[][101], int n, int m)
{//nr max de elemente de pe o coloana care sunt mai mari decat toti vecinii lor
    int max=0;
    for(int j=1;j<=m;j++)
        if(maimarecol(A,n,j)>max) max=maimarecol(A,n,j);
    return max;
}

int catemaxcol(int A[][101], int n, int m)
{//numara cate coloane au max de elemente care sunt mai mari decat toti vecinii lor
    int c=0,max=maxcol(A,n,m);
    for(int j=1;j<=m;j++)
        if(maimarecol(A,m,j)==max) c++;
    return c;
}

int main()
{
    citire(A,n,m);
    fout<<catemaxcol(A,n,m);
    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