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;
}