Afişează mesaje
Pagini: [1]
1  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: numere : Februarie 18, 2011, 22:48:57
Și dacă nu, îl citești ca șir de caractere și elimini spațiile

Cod:
cin.get (s, p) //unde s e șirul și p limita de caractere
for (int i = 0; i < strlen(s); ++i) {
       if (s[i] == ' ') {
            strcpy (s + i, s + i + 1);
            --i;
       }
}
cout << s;


 Smile
2  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 002 Jocul Flip : Februarie 05, 2011, 20:27:40
Ce e faza cu 2 ridicat la numărul de coloane/linii ? Că tot nu mă prind.

EDIT: Gata, m-am prins, nu mai este nevoie.
3  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: Sortare : Februarie 04, 2011, 21:17:49
Ar fi o posibilitate și mai mică (aproape imposibilă) dacă înainte de quickSort s-ar amesteca elementele din vector, cred, dar asta 99,99% distruge best-case-ul (dacă există).

De mergeSort cu listă înlănțuită ce părere ai(aveți)?

Și nu în ultimu rând, mă ajută și pe mine cineva cu radixSortul? La implementare, algoritmu de a sorta după cifra unităților, zecilor, etc poate fi care vreau eu?
4  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: Sortare : Februarie 04, 2011, 19:42:55
Îmi spune și mie de ce toată lumea crede că QuickSort este un algoritm foarte rapid? Doar după nume? Are worst case n2 și best n log n ceea ce mie mi se pare incredibil de mult.

PS: Nu zic de voi, dar cer* o explicație, poate am înțeles eu greșit.
5  infoarena - concursuri, probleme, evaluator, articole / Informatica / graphics.h ...sau? : Februarie 01, 2011, 23:04:40
Salut,

Tocmai ce mă uitam și eu ca tontu prin manualu de a11a, undeva sub aripa Divid et Impera, pe la forme fractale, am văzut ceva numit Koch. Mi s-a părut destul de interesant, așa că am căutat pe internet mai multe.
Problemă: eu folosesc Microsoft Visual C++ și/sau MinGW, unde se pare că nu dispun de librăria graphics.h necesară reprezentării formelor geometrice în consolă, există vreo alternativă?

Mulțumesc anticipat.
6  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: Operatii ciudate cu numere zecimale : Februarie 01, 2011, 23:00:04
Așa mă cruceam și eu când mă jucam cu preciziile.

Dacă puneam precizia de 4 sau mai puțin (parcă) îmi arăta bine, dar dacă puneam precizia mai mare umplea de 9.

Parcă era ceva de genul:
in: 3 out: 3.0000 //cu precizie 4
in: 3 out: 2.999999 //cu precizie 6
7  Comunitate - feedback, proiecte si distractie / Off topic / Răspuns: Ce sfaturi aveţi pentru un începător in algoritmică? O carte? : Ianuarie 29, 2011, 11:24:48
Dacă mai treci prin topic, să-mi spui și mie ce diferă de ediția a2a (scrie printre primele pagini) dacă poți, te rog.
8  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: eliminare : Ianuarie 29, 2011, 10:30:33
O metodă ar mai fi să folosești strcpy(s+i, s+i+1); --i; când găsești un caracter numeric, dar asta doar dacă ai nevoie să mai lucrezi în vreun fel cu șirul.

Cod:
for (int i = 0; i < strlen (s) ; ++i )
    if ( s[i] > '0' || s[i] < '9' ) {
        strcpy(s+i, s+i+1);
        --i;
    }
9  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: cmmdc : Ianuarie 16, 2011, 16:52:21
Problema nu este de la cod (cred), este de la modul cum îți rulezi tu programul, și anume modul Debug, care verifică doar dacă programul a ajuns cu bine la sfârșit, vezi că trebuie să fie undeva Run without debug, de obicei e CTRL+F5.

PS: Data viitoare folosește [code ][ /code]
10  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: Sfârșitul unui fișier : Ianuarie 12, 2011, 21:28:00
Să trăiești cât vrei tu! Mersi mult, eu tot puneam condiția de scanf să fie 0.

 Very Happy
11  infoarena - concursuri, probleme, evaluator, articole / Informatica / Sfârșitul unui fișier : Ianuarie 12, 2011, 21:03:49
Dragi prieteni  Very Happy

De ieri seară mă chinui să îmi dau seama cum aflu când se termină un fișier și nu prea am avut succes.
De specificat:
- deschid fișierul de intrare cu freopen
- folosesc scanf pentru citire, am câte doi întregi pe linie, separați de un spațiu
     exp: 23 3
- introduc întregii într-o strucutră care conține 2 vectori, pe exemplu de mai sus ar fi t.a=23 și t.b=3
- trebui să le citesc pe toate și nu știu condiția de terminare a fișierului.

Vreo recomandare? sau poate altă funcțite asemănătoare cu scanf în care să pot specifica fișierul de unde se citește.
12  infoarena - concursuri, probleme, evaluator, articole / Informatica / Răspuns: Puțin ajutor (eroare) : Decembrie 24, 2010, 19:05:47
Aaahh, așa, omisesem &n.

Folosesc Microsoft Visual C++ 2010, nu mi se pare ceva vechi, iar header-ul "stdafx.h" este necesar aproape mereu (dacă nu mereu).

Da, este un maxim și minim dintr-un vector ...fără vector, iar decrementarea acelei variabile este necesara pentru a se afișa "A[1] = ", "A[2] = ", etc.

Am rezolvat, mersi mult, codul aici:
Cod:
#include "stdio.h"
#include "stdafx.h"

int maxp(int a, int b) {
return b < a ? a : b;
}

int minp(int a, int b) {
return b > a ? a : b;
}

void main () {
int n;
printf ("N = ");
scanf ("%d", &n);
int c, i;
printf ("Element #1: ");
scanf ("%d", &i);
int max, min;
max = min = i;
int p = n;
p--;
while (p) {
printf ("Element #%d: ", n-p+1);
scanf ("%d", &c);
max = maxp(c, max);
min = minp(c, min);
p--;
}
printf ("Max = %d\nMin = %d", max, min);
}
13  infoarena - concursuri, probleme, evaluator, articole / Informatica / Puțin ajutor (eroare) [rezolvat] : Decembrie 24, 2010, 16:58:00
Am făcut acest algoritm banal ca să ma prind cum stă treaba cu A ? B : C. Însă când rulez programul am o eroare cum că folosesc variabila n, însă nu este inițializată, cu toate ca eu văd clar că este inițializată ca int.

Cod:
#include "stdio.h"
#include "stdafx.h"

int maxp(int a, int b) {
return b < a ? a : b;
}

int minp(int a, int b) {
return b > a ? a : b;
}

void main () {
int n;
printf ("N = ");
scanf ("%d", n);
int c, i;
printf ("Element #1: ");
scanf ("%d", i);
int max, min;
max = min = i;
int p = n;
n--;
while (p) {
printf ("Element #%d: ", p-n+1);
scanf ("%d", c);
max = maxp(c, max);
min = minp(c, min);
p--;
}
printf ("Max = %d\nMin = %d", max, min);
}

Da, folosesc Visual C++.
14  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 000 A+B : Decembrie 23, 2010, 14:09:51
Mi-a luat un sfert de ora sa ma prind ca e fstream.hShocked
15  Comunitate - feedback, proiecte si distractie / Off topic / un "programator" rătăcit : Decembrie 18, 2010, 23:37:04
Salut!

De când am descoperit programarea (clasa a9a), m-a atras foarte mult, fiind printre singurele materii care chiar imi plac. Acum sunt clasa a10a si sunt putin pierdut prin toate astea.

Materia de la scoala zace acum pe undeva pe la subprograme, dar asta am invatat cu ceva timp inainte, acum nu stiu de unde sa incep sa ma pregatesc pentru olimpiada din ianuarie si mai departe.

Ma uit des pe infoarena si incep sa ma simt din ce in ce mai prost, vad multe probleme cu programare dinamica, grafuri, arbori si tehnici pe care eu nu le cunosc.

Nu ma intereseaza sa astept dupa materia scolara, cartea de informatica de clasa a10a am citit-o pe toata, mai am o carte de Brain Overland "C++ Ghid pentru începători" in care explica mai mult limbajul decat algoritmii folositi, m-a ajutat pana acum destul de mult.

Imi poate spune cineva cu ce sa "incep"?
16  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 011 Copaci : Decembrie 06, 2010, 23:01:44
Huh? Pot fi si negative? In cerinta scrie clar [0; ...
Pagini: [1]
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines