Afişează mesaje
Pagini: [1]
1  infoarena - concursuri, probleme, evaluator, articole / Informatica / Problema Matrice elemente distincte : Octombrie 24, 2013, 15:04:29
Acesta este enuntul :

Sa se determine multimea formata din elementele distincte de pe marginea unui tablou bidimensional patratic.

Ex: Pentru n=3 si matricea:

2 4 3
3 4 6
1 4 3

-----
se va afisa:
1 2 3 4 6

Aceasta este rezolvarea mea :

Citat
#include <iostream>
#include <fstream>

using namespace std;

fstream f("intrare.in",ios::in);
fstream g("iesire.out",ios::out);

int main()
{
    int a[10][10],b[10],c[10],i,j,n,k,g1,l;
    f>>n;
    for(i=0;i<n;i++)
    for(j=0;j<n;j++)
    f>>a[j];

    k=0;
    for(i=0;i<n;i++)
    {
        c[k++]=a[0];
        c[k++]=a[n-1];
    }
    for(i=1;i<n-1;i++)
    {
        c[k++]=a
  • ;
        c[k++]=a[n-1];
    }
    l=0;
    b[l++]=c[0];
    for(i=1;i<k;i++)
    {
        g1=0;
        for(j=0;j<l && g1==0;j++)
        if(c==b[j])
            g1=1;
        if(g1==0)
        b[l++]=c;
    }

    for(i=0;i<l;i++)
    g<<b<<" ";


}

As dori sa stiu daca exista o solutie mai optima. O rezolvare mai rapida , am stat ceva si m-am gandit  , dar asta e singurul mod care mi-a trecut prin minte.

Mersi.
2  Comunitate - feedback, proiecte si distractie / Off topic / Cu ce sa incep ? : Octombrie 01, 2013, 22:46:14
Salut , ma numesc Razvan si sunt clasa a 10 a .

Anul asta mi-am propus sa lucrez mult la informatica deoarece pe acest domeniu ma axez pe viitor , si pentru a intra la o facultate buna in afara , am nevoie de rezultate deosebite ( sa ajung cel putin la olimpiada nationala ) .
Anul trecut , in clasa a 9 a , am ajuns doar la judeteana , obtinand doar 19 puncte din cele 200 posibile . Sunt multumit insa de rezultat deoarece vectorii si matricile in doar 2 saptamani (aici se includ algoritmii de baza + probleme lucrate ).

Am inceput sa lucrez probleme din culegerea de anu trecut pentru a-mi fixa materia de clasa a 9 a . Am nevoie de un sfat de la voi , daca nu este prea mare deranjul . Doresc sa stiu ce se da la olimpiada de clasa a 10 a , cu ce sa incep dupa ce termin de recapitulat , si ce probleme sa lucrez de pe acest site . ( Problemele din " arhiva de probleme " sunt foarte grele si ma gandesc ca unele sunt si pentru clasa a 11 a , peste nivelul meu ). Daca ma puteti ajuta si cu site-uri unde pot sa vad niste algoritmi care ma pot ajuta la olimpiada , as fi foarte recunoscator.

ps: scuzati-mi exprimarea de 2 lei

Doresc sa adaug faptul ca la mine la clasa profesorul nu prea isi da interesul pentru cei ca mine , care sunt interesati de informatica , ci facem probleme de nivel usor , care sunt la nivelul clasei.

Va multumesc.
3  infoarena - concursuri, probleme, evaluator, articole / Informatica / Problema Informatica : Septembrie 30, 2013, 19:29:32
Se citeste un vector cu componente numere naturale. Sa se afiseze numarul cifrelor 0 cu care se termina numarul format din produsul celor n componente a unui vector.

Indicatie. Nu putem  efectua produsul celor n numere pentru ca, apoi, sa vedem cu cate cifre 0 se termina, pentru ca intr-un astfel de caz  numarul obtinut poate fi foarte mare (nu poate fi retinut intr-o variabila de tip int sau long). Solutia este urmatoare.

* se determina k_1, exponentul maxim al cifrei 2 astfel incat  2^{k_1}  divide pe v[1]

* se determina k_n, exponentul maxim al cifrei 2 astfel incat 2^{k_n} divide pe v[n]

* se calculeaza a = k_1 + k_2 + ... + k_n.

* se determina p_1, exponentul maxim al cifrei 5 astfel incat 5^{k_1} divide v[1].

* se determina p_n exponentul maxim al cifrei 5 astfel incat 5^{k_n} divide v[n]

* se calculeaza b = p_1 + p_2 + ... + p_n.

Numarul de cifre 0 in care se termina produsul va fi minimul intre a si b.

 Nu inteleg aceasta problema daca ma puteti ajuta , nu cu rezolvarea probleme ci cu niste sfaturi.
4  infoarena - concursuri, probleme, evaluator, articole / Teme / Problema clasa a 9 a C++ : Ianuarie 19, 2013, 18:16:02
Enuntul : Pentru un numar n sa se afiseze ultimii p divizori proprii ai lui ( diferiti de 1 si de el insusi ). Daca numarul n are mai putin de p divizori se vor afisa toti. Exemplu : Pentru n=24 si p=2 se va afisa 8 12.

Cod:
#include <iostream>

using namespace std;

int main()
{
    int n,p,i,x,u,q,d;
    cout<<"n=";
    cin>>n;
    cout<<"p=";
    cin>>p;
    i=2;
    x=0;
    u=n/2;
    q=0;
    d=2;
    while(i<=n/2)
    {
        if(n%i==0)
        {
            x++;
        }
        i++;
    }
    if(p<=x)
    {
        while(q<=p)
        {
            if(n%u==0)
            {
                cout<<u<<" ";
            }
            q=q+1;
            u=u-1;
        }
    }
    if(p>x)
    {
        while(d<=n/2)
        {
            if(n%d==0)
            {
                cout<<" "<<d;
            }
            d++;
        }
    }

}

Daca introduc un numar care are mai putin de p divizori , afiseaza toti divizorii , insa nu imi arata ultimii divizori P , ci doar ultimul divizor .
5  infoarena - concursuri, probleme, evaluator, articole / Teme / Răspuns: Problema clasa a 9 a : Decembrie 09, 2012, 22:39:42
mersi  Very Happy
6  infoarena - concursuri, probleme, evaluator, articole / Teme / Problema clasa a 9 a : Decembrie 09, 2012, 20:05:58
Scrieti un program care citeste de la statatura n numere  naturale ( <32000) si afiseaza numarul format prin alipirea cifrelor numarului maxim cu cel minim ( in aceasta ordine )
  Exemplu : Pentru n=3 si numerele 63 , 153 , 62 se va afisa 15362

Cod:
#include <iostream.h>
#include <math.h>
int main()
{
int n,a,i,max,min,z,b,d,c;
cout<<"n=";
cin>>n;
i=1;
c=0;
        z=0;
max=-3200;
min=3100;
while(i<=n)
{
cout<<"a=";
cin>>a;
x=a;
if(a>max)
{
max=a;
}
if(a<min)
{
min=x;
}
i++;
}
while(min!=0)
{
b=min%10;
c=c*10+b;
min=min/10;
}
while(c!=0)
{
d=c%10;
z=10*max+d;
c=c/10;
}
cout<<"Numarul este "<<z;
}

Si totusi , programul imi afiseaza numarul maxim + o cifra lipita de el nu stiu de unde .

   
Pagini: [1]
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines