Afişează mesaje
Pagini: [1] 2
1  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: While loop problem X&O game : Iulie 06, 2013, 10:44:31
Am observat ca ai zis ca nu e gata...dar iti zic niste chestii pe care le-am observat asa...succint uitandu-ma:
1.nu ai luat in calcul toate variantele de a castiga - in total sunt 8 pentru fiecare player (linie 1,2,3 coloana 1,2,3 diagonala principala diagonala secundara)
2.dupa un anumit numar de mutari player 2 (parca) devine caracterul cu codul ASCII 2
3.se poate alege o casuta mai mare ca 9
4.daca player 1 a mutat in casuta 2, dupa asta si player 2 poate muta in casuta 2.
5.la inceputul jocului cand alegi 'NEW GAME' si ce mai are nu sunt compelctate cazurile (2 si 3)
        5'.La sfarsit in loc de if (p==4) pune if (p!=1 || p!=2 || p!=3) unde p e varbiabila opt (a ta)
Multumesc
1. Stiu ca nu am luat in calcul toate variantele. Ieri dupa ce am mai testat un pic mi-am dat seama.
2. Am observat ca devine acel smile din ASCII.. De ce se intampla asta? e foarte ciudat...
3. M-am gandit sa rezolv mai intai partea in care se introduc datele corect, ca apoi sa ma ocup de exceptii.
4. Inca ma mai gandesc la asta. Cred ca o sa bifez intr-un vector completat/necompletat. Daca o casuta este completata, respectiv daca nu.
5. Cazurile 2 si 3 le completez acum.
        5'. Asa voi face.
 Smile Multumesc. Voi reveni cu update-uri. peacefingers peace
2  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: While loop problem X&O game : Iulie 05, 2013, 19:08:09
 Surprised multumesc. asa am observat si eu ca k-ul ala e cam ciudat.. am incercat cu if-uri dar tot asa se comporta.. trebuie sa reusesc.. daca nu merge rescriu cu functii Confused multumesc mult Smile daca mai observi ceva te rog posteaza un raspuns Embarassed
3  infoarena - concursuri, probleme, evaluator, articole / Informatica / While loop problem X&O game : Iulie 05, 2013, 14:53:38
Am incercat sa fac un joc de X si O in C++ si este aproape gata, subliniez aproape. Am o problema cu acel ciclu. In mod normal ar trebui sa se opreasca la k=9 dar ceva este gresit si nu se opreste.. in rest totul merge bine deocamdata, daca cineva pune 3 x sau 3 o in linie se opreste, dar cand nu castiga nimeni jocul continua mai mult decat trebuie. Care este problema? Am incercat si cu for() dar tot aia este...  Brick wall

Cod:
#include <iostream>
#include <stdio.h>
#include <windows.h>
#include <conio.h>

using namespace std;

int opt, rez[3][3], casuta,casuta1,k=0;
char player1[11], player2[11], a[8][13];

int main()
{
    a[1][1]='-';a[1][2]='-';a[1][3]='-';a[1][4]='-';a[1][5]='-';a[1][6]='-';a[1][7]='-';a[1][8]='-';a[1][9]='-';a[1][10]='-';a[1][11]='-';a[1][12]='-';a[1][13]='-';
    a[2][1]='|';a[2][2]=' ';a[2][3]='x';a[2][4]=' ';a[2][5]='|';a[2][6]=' ';a[2][7]='x';a[2][8]=' ';a[2][9]='|';a[2][10]=' ';a[2][11]='o';a[2][12]=' ';a[2][13]='|';
    a[3][1]='-';a[3][2]='-';a[3][3]='-';a[3][4]='-';a[3][5]='-';a[3][6]='-';a[3][7]='-';a[3][8]='-';a[3][9]='-';a[3][10]='-';a[3][11]='-';a[3][12]='-';a[3][13]='-';
    a[4][1]='|';a[4][2]=' ';a[4][3]='o';a[4][4]=' ';a[4][5]='|';a[4][6]=' ';a[4][7]='x';a[4][8]=' ';a[4][9]='|';a[4][10]=' ';a[4][11]='x';a[4][12]=' ';a[4][13]='|';
    a[5][1]='-';a[5][2]='-';a[5][3]='-';a[5][4]='-';a[5][5]='-';a[5][6]='-';a[5][7]='-';a[5][8]='-';a[5][9]='-';a[5][10]='-';a[5][11]='-';a[5][12]='-';a[5][13]='-';
    a[6][1]='|';a[6][2]=' ';a[6][3]='x';a[6][4]=' ';a[6][5]='|';a[6][6]=' ';a[6][7]='o';a[6][8]=' ';a[6][9]='|';a[6][10]=' ';a[6][11]='o';a[6][12]=' ';a[6][13]='|';
    a[7][1]='-';a[7][2]='-';a[7][3]='-';a[7][4]='-';a[7][5]='-';a[7][6]='-';a[7][7]='-';a[7][8]='-';a[7][9]='-';a[7][10]='-';a[7][11]='-';a[7][12]='-';a[7][13]='-';

    cout<<"== X & O game =="<<endl;
    cout<<"  created by Bratie Fanut"<<endl<<endl;

    for(int i=1;i<=7;i++)
    {
        for(int j=1;j<=13;j++)
        cout<<a[i][j];
        cout<<endl;
    }

    cout<<endl;
    cout<<"1. Joc Nou"<<endl;
    cout<<"2. Instructiuni"<<endl;
    cout<<"3. Scor"<<endl;
    cout<<"4. Iesire"<<endl;

    cout<<endl;

    cout<<"Introduceti optiunea dumneavoastra:";
    cin>>opt;

    if(opt == 1)
    {

        a[2][3]=' ';
        a[2][7]=' ';
        a[2][11]=' ';
        a[4][3]=' ';
        a[4][7]=' ';
        a[4][11]=' ';
        a[6][3]=' ';
        a[6][7]=' ';
        a[6][11]=' ';

        cout<<"Jocul va incepe dupa ce ambii jucatori si-au introdus numele"<<endl;
        cout<<"Introduceti numele, Player1:"<<endl;
        cin>>player1;
        cout<<"Introduceti numele, Player2:"<<endl;
        cin>>player2;

        cout<<endl<<"LOADING...............";
        system("cls");
        cout<<"Jocul a inceput!"<<endl<<endl;

        for(int i=1;i<=7;i++)
        {
            for(int j=1;j<=13;j++)
            cout<<a[i][j];
            cout<<endl;
        }

        while(k<=9)
        {
            cout<<player1<<" sunteti cu ,,X''. Introduceti numarul casutei dorite.";
            cin>>casuta;
            switch(casuta)
            {
                case 1:
                a[2][3]='X',rez[1][1]=1,k++;
                break;

                case 2:
                a[2][7]='X',rez[1][2]=1,k++;
                break;

                case 3:
                a[2][11]='X',rez[1][3]=1,k++;
                break;

                case 4:
                a[4][3]='X',rez[2][1]=1,k++;
                break;

                case 5:
                a[4][7]='X',rez[2][2]=1,k++;
                break;

                case 6:
                a[4][11]='X',rez[2][3]=1,k++;
                break;

                case 7:
                a[6][3]='X',rez[3][1]=1,k++;
                break;

                case 8:
                a[6][7]='X',rez[3][2]=1,k++;
                break;

                case 9:
                a[6][11]='X',rez[3][3]=1,k++;
                break;
            }

            system("cls");
            for(int i=1;i<=7;i++)
            {
                for(int j=1;j<=13;j++)
                cout<<a[i][j];
                cout<<endl;
            }

            if((rez[1][1]==1 && rez[1][2]==1 && rez[1][3]==1) ||
               (rez[2][1]==1 && rez[2][2]==1 && rez[2][3]==1) ||
               (rez[3][1]==1 && rez[3][2]==1 && rez[3][3]==1) ||
               (rez[1][3]==1 && rez[2][2]==1 && rez[3][1]==1))
               {
                   cout<<player1<<" A CASTIGAT!!!"<<endl<<endl;
                   exit(1);getch();
               }

            cout<<player2<<" sunteti cu ,,O''. Introduceti numarul casutei dorite.";
            cin>>casuta1;
            switch(casuta1)
            {
                case 1:
                a[2][3]='O',rez[1][1]=2,k++;
                break;

                case 2:
                a[2][7]='O',rez[1][2]=2,k++;
                break;

                case 3:
                a[2][11]='O',rez[1][3]=2,k++;
                break;

                case 4:
                a[4][3]='O',rez[2][1]=2,k++;
                break;

                case 5:
                a[4][7]='O',rez[2][2]=2,k++;
                break;

                case 6:
                a[4][11]='O',rez[2][3]=2,k++;
                break;

                case 7:
                a[6][3]='O',rez[3][1]=2,k++;
                break;

                case 8:
                a[6][7]='O',rez[3][2]=2,k++;
                break;

                case 9:
                a[6][11]='O',rez[3][3]=2,k++;
                break;
            }
            system("cls");
            for(int i=1;i<=7;i++)
            {
                for(int j=1;j<=13;j++)
                cout<<a[i][j];
                cout<<endl;
            }
            if((rez[1][1]==2 && rez[1][2]==2 && rez[1][3]==2) ||
               (rez[2][1]==2 && rez[2][2]==2 && rez[2][3]==2) ||
               (rez[3][1]==2 && rez[3][2]==2 && rez[3][3]==2) ||
               (rez[1][3]==2 && rez[2][2]==2 && rez[3][1]==2))
               {
                   cout<<player2<<" A CASTIGAT!!!"<<endl<<endl;
                   exit(1); getch();
               }


        }

        cout<<"EGALITATE!!"<<endl;


    }

    if(opt==4)
    exit(0);


    cout<<endl<<endl;
    return 0;
}
4  infoarena - concursuri, probleme, evaluator, articole / Concursuri / Vundermind : Martie 08, 2013, 16:33:24
vundermind este un concurs online, similar cu Olimpiada de Informatică din România, la nivel de liceu. Marele premiu pentru câștigător va fi o săptămână în Amsterdam, în vara anului 2013. Săptămâna va fi organizată de Vrije Universiteit și va include: vizitarea campusului VU, a laboratoarelor, prezentări ale industriei high-tech în Olanda, prezentarea oportunităților academice și profesionale oferite de Vrije Universiteit, întâlniri cu profesorii și alumni, precum și vizite la companiile de IT care oferă internshipuri studenților de la Vrije Universiteit.

concursul are loc duminica la ora 9, inainte de .com 2012, runda 3.
Elevii interesați să participe se pot înregistra pe site-ul web: Vundermind.
5  Comunitate - feedback, proiecte si distractie / Off topic / Răspuns: O ora de programare... : Martie 07, 2013, 18:17:05
m-am apucat deja Applause
6  Comunitate - feedback, proiecte si distractie / Off topic / Răspuns: O ora de programare... : Martie 06, 2013, 18:32:44
Da. am intrat pe infoarena acum 3 luni, in speranta ca pot invata ceva de aici, si nu am fost dezamagit Cool imi propun sa incep pregatirea pt olimpiada de anul viitor de pe acum Weightlift, pt ca anul asta la oji am luat doar locul 7 pe judet... un rezultat destul de slab Brick wall
7  Comunitate - feedback, proiecte si distractie / Off topic / O ora de programare... : Martie 06, 2013, 17:14:38
La ora de programare. Profesoara: "Se da problema: [inserati voi aici cerinta unei probleme in C++]. Acum cautati in calculatoare 2-3.txt. Acolo e rezolvarea. Daca nu o gasiti, incercati sa rezolvati singuri problema. Sau chemati-ma pe mine, ca am rezolvarea pe stick."

In mod normal ar fi trebuit ca scoala sa ma invete si altceva, ca am avut timp pana acum sa invat cum sa copiez. Sau poate-s eu prea pretentios... Daca vrei sa faci ceva cel mai bine ar fi sa stii ce inseamna 'autodidact'.
8  Comunitate - feedback, proiecte si distractie / Off topic / Răspuns: Cumpar T.H. Cormen - "Introducere in algoritmi" : Martie 06, 2013, 15:04:11
 Smile daca vrem sa lucram in IT va trebui sa ne retusam engleza tehnica.. deci nu avem scapare Read This! Rolling on the Floor Laughing
9  Comunitate - feedback, proiecte si distractie / Off topic / Răspuns: infoarenaut : Martie 05, 2013, 19:42:30
Infoarenaut! Back in bussines! Har har
10  Comunitate - feedback, proiecte si distractie / Off topic / Răspuns: Cumpar T.H. Cormen - "Introducere in algoritmi" : Martie 05, 2013, 19:40:50
http://libris.agora.ro/algoritmi.html incearca aici Smile

oricum, cartea in engleza e mult mai buna si tot va trebui sa inveti engleza daca vrei sa fi coder wink
11  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 008 Cifra : Martie 05, 2013, 16:42:56
as putea posta sirul preprocesat pe care l-am generat, ca sa vad daca este corect? s-au trebuie sa trimit pm unui admin?

LE:nu mai e nevoie. am aflat. era corect. Smile
12  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 199 Graf : Februarie 26, 2013, 20:08:33
am incercat roy floyd-ul.. merge dar eu trebuie sa afisez nodurile comune tuturor lanturilor optime, nu doar lantul optim.. trebuie modificat putin algoritmul, si iese din timp de pe la testu 4 incolo, deci poti lua maxim 40
13  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 199 Graf : Februarie 26, 2013, 19:33:14
deci pentru teste mici ar merge, nu?
14  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 199 Graf : Februarie 26, 2013, 19:12:15
desi la tag este parcurgere in latime, se poate face si cu roy-floyd? sau pt ca este O(n*n*n) o sa iasa din timp?
15  infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2013 / Răspuns: Feedback Algoritmiada 2013, Runda 3 : Februarie 24, 2013, 21:52:31
Si Gavrila Vlad iar a castigat Winner 1st place Felicitari echipei infoarena Applause
16  infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2013 / Răspuns: Kgon : Februarie 24, 2013, 09:20:14
prin subset intelegem submultime?
17  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 011 Copaci : Februarie 23, 2013, 15:29:41
multumesc am luat 100 Applause
18  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: Problema puncte laticeale : Februarie 22, 2013, 16:22:25
Am postat acum Confused scuze.. dar mam gandit ca daca nu sa mai postat ceva de aprox un an, nu imi va raspunde cineva prea devreme..
19  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 011 Copaci : Februarie 22, 2013, 16:20:35
Am sursa asta pt problema "Copaci":
Cod:
#include <fstream>
#include <stdlib.h>
using namespace std;

........
 
   g<<p;
    f.close();
    g.close();
    return 0;
}
Obtin doar 60 de puncte, pe primele 4 teste iau WA. imi poate sugera cineva ceva?
LE: cod sters pt a evita copy-paste.
20  infoarena - concursuri, probleme, evaluator, articole / Informatica / Problema puncte laticeale : Februarie 22, 2013, 16:05:44
Am sursa asta pt problema "Copaci":
Cod:
#include <fstream>
#include <stdlib.h>
using namespace std;

struct punct
{
    long long x, y;
};
punct v[100001];

long long n,i,a,b;

long long cmmdc( long long a, long long b )
{
long long r;
while( b )
{
r = a % b;
a = b;
b = r;
}
return a;
}


int main()
{
    ifstream f("copaci.in");
    ofstream g("copaci.out");

    f>>n;
    for(i=1;i<=n;i++)
    f>>v[i].x>>v[i].y;

    b=0;
    for(i=1;i<n;i++)
    b+=cmmdc(llabs(v[i].x-v[i+1].x),llabs(v[i].y-v[i+1].y));

     long long x1,x2,y1,y2;
    for(i=1;i+1<n;i++)
    {
        x1=v[i].x-v[0].x;
        y1=v[i].y-v[0].y;
        x2=v[i+1].x-v[0].x;
        y2=v[i+1].y-v[0].y;
        a+=x1*y2-x2*y1;
    }
    a=llabs(a*0.5);

    long long p=a-(b/2)+1;
    g<<p;
    f.close();
    g.close();
    return 0;
}
Obtin doar 60 de puncte, pe primele 4 teste iau WA. imi poate sugera cineva ceva?
21  Comunitate - feedback, proiecte si distractie / Extinde arhiva / Răspuns: Despre ce este vorba... : Februarie 17, 2013, 22:04:08
As dorii sa propun si eu o problema pentru arhiva Smile problema are dificultate medie spre usoara si se poate rezolva cu ajutorul sirurilor de caractere. In afara de acordul autorului, fisierele de intrare/iesire pt teste si realizarea evaluatorului (lucru pe care deocamdata nu stiu sa il fac, dar am sa invat), trebuie sa mai fac si altceva? Smile

PS: ar trebui sa rezolv problema in mai multe moduri sau un singur algoritm este suficient?
22  infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2013 / Răspuns: Algoritmiada 2013, Runda 3 : Februarie 17, 2013, 21:03:06
 Smile Adica sa ma pregatesc pentru ce e mai rau, nu? Yahoo!
23  infoarena - concursuri, probleme, evaluator, articole / Arhiva educationala / Răspuns: 008 Subsir crescator maximal : Februarie 17, 2013, 17:38:43
In sfarsit am luat 100 Winner 1st place multumesc Very Happy
24  infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2013 / Răspuns: Algoritmiada 2013, Runda 3 : Februarie 17, 2013, 17:34:40
Super Smile m-am inscris si eu Very Happy

P.S: Pentru clasele 11-12, problemele vor cuprinde doar algoritmi studiati pana atunci la clasa, respectiv: divide et impera, backtracking, greedy si dinamica sau gama de probleme este mult mai variata?
25  infoarena - concursuri, probleme, evaluator, articole / Algoritmiada 2013 / Răspuns: Algoritmiada 2013, Runda 3 : Februarie 16, 2013, 21:53:39
Daca nu am participat la runda 1 si 2, ma pot inscrie pentru runda 3? Smile
Pagini: [1] 2
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines