19 nov. 2015

Propuneri de enunturi

Nu am mai scris de ceva vreme dar totusi numarul celor care viziteaza blogul este constant.

Daca aveti idei de probleme sau probleme rezolvate puteti sa le lasati in commenturi si voi incerca sa raspund la ele cat de repede posibil.

Scopul final fiind de a crea o colectie cat mai mare de probleme publica.

24 feb. 2013

Furnici altruiste

Problema cu furnicile harnice, au prea mult si s-au hotarat sa imparta la greieri. Pot da unui greier o singura unitate de mancare(boaba grau), toate dau cat da cea mai saraca familie, dar se pot inprumuta intre ele, daca se imprumuta se pierde pe drum 1 unitate de mancare pentru fiecare unitate de distanta(metru) parcursa.
Fisier de intrare:
4
20 300
40 400
340 700
360 600

#include <iostream>
#include <fstream>

using namespace std;

//fisier de intrare
ifstream fin("ants.in");

int main()
{
    //n - numarul de familii de furnici
    //i - index pentru parcurgere
    long n,i;
    //a - distanta pana la tunel
    //b - boabe in plus
    //ap - distanta familiei precedente fata de tinel
    //s - suma boabelor in plus
    double a,b,ap,s=0;
    fin>>n;

    //prima familie
    fin>>a>>b;

    s+=b;
    ap=a;

    //celelalte n-1 familii
    for(i=1;i<n;i++)
    {
        fin>>a>>b;
        b=b-(a-ap);
        s+=b;
        ap=a;
    }

    fin.close();
    //media boabelor exceptand costul drumului
    cout<<(s/n);

    return 0;
}

23 feb. 2013

Basic C++ Hello World

#include <iostream>
#include <conio.h>
using namespace std;

int main ()
{
  cout << "Hello World!";
  getch();
  return 0;
}

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