20 nov. 2012

Suma elementelor din vector

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
 int n, i, s=0;
 int v[100];
 cout << "n:";
 cin >>n;
 for (i = 0; i < n; i++) {
  cin >> v[i];
 }
 for (i = 0; i < n; i++) {
  s+=v[i];
 }
    cout<<"Suma:"<< s;
}
propuneri de enunturi

9 nov. 2012

Valoarea maxima din vector

#include<iostream.h>

using namespace std;

int main() {
 int n, i, max;
 int v[100];
 cout << "n:";
 cin>>n;
 for (i = 0; i < n; i++) {
  cin >> v[i];
 }
 max = v[0];
 for (i = 1; i < n; i++) {
  if (max < v[i]) {
   max = v[i];
  }
 }
 cout << "maxim: " << max;
 return 0;
}
propuneri de enunturi

Citirea unui vector

Pentru a citi un vector trebuie sa cititi fiecare valoare a lui, preferabil intr-o bucla for. Mai intai trebuie sa stiti dimensiunea vectorului, se va citi de la tastatura si apoi pe rand valorile vectorului.


#include<iostream.h>

using namespace std;

int main() {
 int n, i;
 int v[100];
 cout << "n:";
 cin >> n;
 for (i = 0; i < n; i++) {
  cin >> v[i];
 }
 for (i = 0; i < n; i++) {
  cout << "v[" << i << "]:" << v[i] << endl;
 }
 return 0;
}
propuneri de enunturi

7 nov. 2012

Valoarea maxima dintr-o matrice

Pentru a afla valoarea maxima dintr-o matrice trebuie sa aveti o variabila care retine acea valoare maxima, apoi sa parcurgeti toata matricea si sa cautati valori mai mari decat maximul curent, daca gasiti o valoare mai mare atunci o retineti in variabila de referinta. Dupa ce ati citi o matrice ca in exemplu, gasiti maximul in felul urmator.
int max = matrix[0][0]; 
for (int i = 0; i < lines; i++) { 
     for (int j = 0; j < columns; j++) { 
       if (matrix[i][j] > max) { 
           max = matrix[i][j]; 
       } 
     } 
} 
cout << "Valoarea maxima din matrice este:" << max << endl; 
propuneri de enunturi

Citirea unei matrici

O matrice este un vector de vectori. Are un numar de linii(considerat un vector) si fiecare element din vectorul respectiv este la randul sau un vector(coloane).

#include <iostream>
using namespace std;

int main() {
 //numarul de linii si coloane
 int lines, columns;
 cout << "linii:";
 cin >> lines;
 cout << "colomns:";
 cin >> columns;
//declararea matricei
 int matrix[lines][columns];
//citirea de la tastatura a elementrlor, unul cate unul
 for (int i = 0; i < lines; i++) {
  for (int j = 0; j < columns; j++) {
   cout << "matrix[" << i << "][" << j << "]:";
   cin >> matrix[i][j];
  }
 }
//afirare in bloc a matricei
 cout << "Afisare matrice:" << endl;
 for (int i = 0; i < lines; i++) {
  for (int j = 0; j < columns; j++) {
   cout << matrix[i][j] << " ";
  }
  cout << endl;
 }
}
propuneri de enunturi

17 iul. 2012

Numarul de cifre

Sa numaram cate cifre de fiecare grad sunt intr-un numar. Cate cifre de 1, cate de 2 s.a.m.d. Varianta este de forta bruta, ar terbui folosit un vector unidimensional de lungime 10.

#include <iostream>
using namespace std;

int main() {

 int n;
 int c;
 //initializam numerul de cifre
 int i0 = 0, i1 = 0, i2 = 0, i3 = 0, i4 = 0, i5 = 0, i6 = 0, i7 = 0, i8 = 0,
   i9 = 0;
 //citim n
 cin >> n;

 // numaram cifrele
 while (n) {
  c = n % 10;
  n = n / 10;
  switch (c) {
  case 0:
   i0++;
   break;
  case 1:
   i1++;
   break;
  case 2:
   i2++;
   break;
  case 3:
   i3++;
   break;
  case 4:
   i4++;
   break;
  case 5:
   i5++;
   break;
  case 6:
   i6++;
   break;
  case 7:
   i7++;
   break;
  case 8:
   i8++;
   break;
  case 9:
   i9++;
   break;
  }
 }
 //afizam cifrele
 cout << "Numarul are: \n";
 cout << "[" << i0 << "]" << " de 0\n";
 cout << "[" << i1 << "]" << " de 1\n";
 cout << "[" << i2 << "]" << " de 2\n";
 cout << "[" << i3 << "]" << " de 3\n";
 cout << "[" << i4 << "]" << " de 4\n";
 cout << "[" << i5 << "]" << " de 5\n";
 cout << "[" << i6 << "]" << " de 6\n";
 cout << "[" << i7 << "]" << " de 7\n";
 cout << "[" << i8 << "]" << " de 8\n";
 cout << "[" << i9 << "]" << " de 9\n";
 return 0;
}

Dupa cum se observa un astfel de program este foarte lung chiar daca este simplu de scris.
O versiune mai compacta a acestui program este urmatoarea:
#include <iostream>
using namespace std;

int main() {
 int n;
 int v[10];
 int c;

 for (int i = 0; i < 10; i++) {
  v[i] = 0;
 }

 cin >> n;

 while (n) {
  c = n % 10;
  n = n / 10;
  v[c]++;
 }

 for (int i = 0; i < 10; i++) {
  cout << "[" << v[i] << "]" << " de " << i << "\n";
 }
 return 0;
}
Resultatul este acelasi, dar codul este mai compact, si mai usor de urmarit.

30 mai 2012

O simpla scriere in fisier

Un exemplu de program care scrie un simplu text in fisier. stocare permanenta pe HDD.

#include <iostream>
#include <fstream>
using namespace std;

int main() {
 ofstream myfile;
 myfile.open("exemplu.txt");
 myfile << "Scrie in fisier";
 myfile.close();
 return 0;
}
propuneri de enunturi

Palindrom de 9 cifre

Sa se scrie un program care afiseaza toate palindroamele de 9 cifre.

#include <iostream>
using namespace std;

int invers(int n) {
 int i = 0;
 while (n > 0) {
  i = (i * 10) + n % 10;
  n = n / 10;
 }
 return i;
}

int main() {

 int nr;
 for (int i = 10010; i < 100000; i++) {
  nr = i;
  cout << i << invers(nr / 10) << endl;
 }
 return 0;
}

14 ian. 2012

Idei de probleme

     Salut,

   Pentru cei care se mai uita din cand in gand pe blogul asta si ar vrea sa mai vada solutii noi la probleme si mai noi, va rog sa lasati un comment.

  multa bafta