Pagina 1 din 2 1 2 UltimaUltima

c++


  1. #1
    0-day Member symona reprezinta o cantitate neglijabila
    Data de inscriere
    26-12-2007
    Sex
    F
    Mesaje
    5
    Putere Reputatie
    34
    Reputatie
    10
    Puncte CF
    0.0

    c++

    Care din urmatoarele tipuri pot fi folosite pentru variabila contor dintr-o instructiune for:
    1.int
    2.float
    3.char
    4.double

    a)1 si 2
    b)toate
    c)1 si 3
    d)1,2 si 4

  2. #2
    Banned Mihai_z reprezinta o cantitate neglijabila
    Data de inscriere
    11-02-2006
    Sex
    F
    Mesaje
    621
    Mesaje bazar
    36
    Putere Reputatie
    0
    Reputatie
    10
    Puncte CF
    0.0
    b)
    p.s. nu sunt sigur
    p.s. 2 asta e intrebare de C
    Vrei mai putine reclame? Inregistreaza-te sau logheaza-te

  3. #3
    Newcomer deni_z's Avatar deni_z este pe calea cea buna
    Data de inscriere
    21-12-2006
    Varsta
    36
    Sex
    F
    Mesaje
    43
    Mesaje bazar
    38
    Putere Reputatie
    36
    Reputatie
    28
    Puncte CF
    20.0
    eu zic k rasp e c). 75% sigura

  4. #4
    Maniac Scorpio's Avatar Scorpio este cu certitudine unul din liderii acestei comunitati Scorpio este cu certitudine unul din liderii acestei comunitati Scorpio este cu certitudine unul din liderii acestei comunitati Scorpio este cu certitudine unul din liderii acestei comunitati Scorpio este cu certitudine unul din liderii acestei comunitati Scorpio este cu certitudine unul din liderii acestei comunitati Scorpio este cu certitudine unul din liderii acestei comunitati Scorpio este cu certitudine unul din liderii acestei comunitati Scorpio este cu certitudine unul din liderii acestei comunitati Scorpio este cu certitudine unul din liderii acestei comunitati Scorpio este cu certitudine unul din liderii acestei comunitati
    Data de inscriere
    04-10-2005
    Locaţie
    Craiova
    Varsta
    38
    Sex
    M
    Mesaje
    4,548
    Mesaje bazar
    629
    Putere Reputatie
    60
    Reputatie
    3386
    Puncte CF
    10.5
    Usergroups:
    Raspunsul este "D"...

    for (i=1;i<n;i++) = variabila contor este i.

    @Deni nu poate sa fie char pt ca ai nevoie de un numar ( ceva care se incrementeaza sau se decrementeaza ).

    Ete ce'ti apare daca pui char :

    Last edited by Scorpio; 29-12-2007 at 09:30. Motiv: Automerged Doublepost
    -- No OnE LiVeS FoReVeR !!!

  5. #5
    Newcomer deni_z's Avatar deni_z este pe calea cea buna
    Data de inscriere
    21-12-2006
    Varsta
    36
    Sex
    F
    Mesaje
    43
    Mesaje bazar
    38
    Putere Reputatie
    36
    Reputatie
    28
    Puncte CF
    20.0
    Citat Mesaj iniţiat de Scorpio Vezi mesajele
    Raspunsul este "D"...

    for (i=1;i<n;i++) = variabila contor este i.

    @Deni nu poate sa fie char pt ca ai nevoie de un numar ( ceva care se incrementeaza sau se decrementeaza ).

    Ete ce'ti apare daca pui char :

    s poate sa fie si cum zici u. nu pot sa t contrazic...eu am ramas cu pascalu in minte inseamna. acolo mergea doar integer si char...io stiu..

  6. #6
    Banned Mihai_z reprezinta o cantitate neglijabila
    Data de inscriere
    11-02-2006
    Sex
    F
    Mesaje
    621
    Mesaje bazar
    36
    Putere Reputatie
    0
    Reputatie
    10
    Puncte CF
    0.0
    Orice apasare a butoanelor (litere, cifre, semne speciale, taste functionale) unei tastaturi se produce printransmiterea unui cod unic pentru fiecare caz in parte. Aceste valori, de la 0 la 255, formeaza codul ASCII (American Standard Character International). Valorile corespunzatoare tipului CHAR sunt caracterele ce se pot obtine din codul ASCII.

  7. #7
    Newcomer deni_z's Avatar deni_z este pe calea cea buna
    Data de inscriere
    21-12-2006
    Varsta
    36
    Sex
    F
    Mesaje
    43
    Mesaje bazar
    38
    Putere Reputatie
    36
    Reputatie
    28
    Puncte CF
    20.0
    Citat Mesaj iniţiat de symona Vezi mesajele
    Care din urmatoarele tipuri pot fi folosite pentru variabila contor dintr-o instructiune for:
    1.int
    2.float
    3.char
    4.double

    a)1 si 2
    b)toate
    c)1 si 3
    d)1,2 si 4
    raspunsul este B 100%
    @scoripo :
    #include<iostream.h>
    char i;
    void main()
    {
    for(i='a';i<'c';i++)
    cout<<i<<endl;
    }

    afiseaza:
    a
    b
    ....stiam eu cva cva

    insa in c++ vad k merge si float si double....in pascal parca nu mergea....

  8. #8
    Linux user cmcx_linux reprezinta o cantitate neglijabila
    Data de inscriere
    05-10-2005
    Sex
    M
    Mesaje
    218
    Mesaje bazar
    113
    Putere Reputatie
    39
    Reputatie
    10
    Puncte CF
    40.0
    Usergroups:
    In c se pot folosi pe post de contor oricare din tipurile standard. Un exemplu de iteratii:
    for(float i=2;i<34.5;i*=2.14) cout<<i<<" ";
    for(double i=9999.99;i>2;i/=2.5)cout<<i<<" ";
    for(char i=0;i<='a';i++) cout<<i<<" ";
    si cu pointeri:
    int x[10]; x este un pointer la primul element din tablou si presupunand ca vreau sa afisez elementele:
    for(i=0;i<10;i++) cout<<x[i];
    forul de mai sus este echivalent cu :
    for(i=0;i<10;i++) cout<<*(x+i);
    sau
    for(int * i=x;i<x+10;i++) cout<<*i;
    sau si mai smecher
    for(i=0;i<10;i++) cout<<i[x];

    nota:
    in c/c++ nu incercati sa verificati daca 2 numere reale sunt egale, veti avea surprize neplacute.
    un exemplu:
    float x=10/3;
    daca incercati urmatoarea egalitate :
    if (x==10/3) cout<<"egale";
    else cout<<"inegale";
    pentru unele compilatoare veti avea o surpriza ca numerele nu sunt egale.
    Explicatia este ca compilatorul face cast la tipul double si (double)x nu este egal cu (double)10/3 atunci cand comparati bit cu bit.
    Last edited by cmcx_linux; 29-12-2007 at 11:40.

  9. #9
    Maniac Scorpio's Avatar Scorpio este cu certitudine unul din liderii acestei comunitati Scorpio este cu certitudine unul din liderii acestei comunitati Scorpio este cu certitudine unul din liderii acestei comunitati Scorpio este cu certitudine unul din liderii acestei comunitati Scorpio este cu certitudine unul din liderii acestei comunitati Scorpio este cu certitudine unul din liderii acestei comunitati Scorpio este cu certitudine unul din liderii acestei comunitati Scorpio este cu certitudine unul din liderii acestei comunitati Scorpio este cu certitudine unul din liderii acestei comunitati Scorpio este cu certitudine unul din liderii acestei comunitati Scorpio este cu certitudine unul din liderii acestei comunitati
    Data de inscriere
    04-10-2005
    Locaţie
    Craiova
    Varsta
    38
    Sex
    M
    Mesaje
    4,548
    Mesaje bazar
    629
    Putere Reputatie
    60
    Reputatie
    3386
    Puncte CF
    10.5
    Usergroups:
    Nu am Pascal sa testez daca merg double si float , integer merge sigur ... , in fine poti folosi oricare din tipurile de mai sus . ( 95% int , restul le'am vazut mult mai rar, char deloc)
    -- No OnE LiVeS FoReVeR !!!

  10. #10
    Crux Crux's Avatar Crux este pe calea cea buna
    Data de inscriere
    03-10-2005
    Locaţie
    Rovine
    Varsta
    40
    Sex
    M
    Mesaje
    576
    Mesaje bazar
    73
    Putere Reputatie
    40
    Reputatie
    41
    Puncte CF
    39.0
    integer e la mintea cocosului ca merge, cat despre C/C++:
    vom considera urmatoarea secventa de program:

    Cod:
    #include <stdio.h>
    
    int main(){
    	float i; char c; double d;
    	for(i=0; i<5; i+=0.5) printf("%.3f ",i);
    	printf("\n\n");
    	for(c='a'; c<'e'; c++) printf("[%d %c]",c,c);
    	printf("\n\n");
    	for(d=0; d<5; d+=0.5) printf("%.3f ",d);
    	printf("\n\n");
    	return 0;
    }
    care are outputul urmator:

    0.000 0.500 1.000 1.500 2.000 2.500 3.000 3.500 4.000 4.500

    [97 a][98 b][99 c][100 d]

    0.000 0.500 1.000 1.500 2.000 2.500 3.000 3.500 4.000 4.500

    Am formatat outputul pentru usurinta, iar la caractere am pus sa afiseze si caracterul, si codul ASCII.

    De mentionat ca programul a fost scris in regim ISO-C. cmcx_linux, ce ai scris tu acolo e C++ curat. Sa nu incurcam capra cu varza.

    Bottom line este ca in regim de C/C++ se pot folosi toate tipurile de date enumarate pe post de contor.

  11. #11
    Banned Mihai_z reprezinta o cantitate neglijabila
    Data de inscriere
    11-02-2006
    Sex
    F
    Mesaje
    621
    Mesaje bazar
    36
    Putere Reputatie
    0
    Reputatie
    10
    Puncte CF
    0.0
    deci am avut dreptate oricum int e mai bun pt folosinta

  12. #12
    Linux user cmcx_linux reprezinta o cantitate neglijabila
    Data de inscriere
    05-10-2005
    Sex
    M
    Mesaje
    218
    Mesaje bazar
    113
    Putere Reputatie
    39
    Reputatie
    10
    Puncte CF
    40.0
    Usergroups:
    Yeap, stiu ca e c++.Este un thread de c++ si motivul pentru care am postat este pentru a-i da lui Mihai_z dreptate, dar, daca variabilele ar fi fost declarate corespunzator,ar merge si in c , sau cel putin conform ansi c 99. Multumesc ca mi-ai atras atentia, data viitoare am sa fiu mai complet in explicatii.
    As mai adauga o nota, oameni buni tipul char din c/c++ nu este la fel ca cel din pascal. In c si implicit si c++ char este un tip int cu valori de la -128 la 127 (echivalentul lui byte din pascal, parca). Lui i se poate aplica specificatorul unsigned si atunci gama de valori este de la 0 la 255. Conversia spre caractere se face atunci cand trimiti valorile spre ecran sau imprimata. De aici caracterul de limbaj de nivel jos al c-ului ( c-ul mosteneste si caracteristici de la limbajele de nivel jos, ca assembler).
    Alta nota:
    datorita celor mentionate mai sus in c/c++ sunt corecte expresii de forma:
    char c;
    c='a'+2;
    printf("%c",c); /* va afisa c */

    la compilare compilatorul va inlocui automat caracterul 'a' cu codul corespunzator variabilei ( signed/unsigned) si il va folosi ca atare in suma.

  13. #13
    Oldtimer SacreD's Avatar SacreD este placut de toti SacreD este placut de toti SacreD este placut de toti
    Data de inscriere
    08-10-2005
    Locaţie
    Craiova
    Varsta
    36
    Sex
    M
    Mesaje
    1,061
    Mesaje bazar
    262
    Putere Reputatie
    43
    Reputatie
    237
    Puncte CF
    9.5
    Usergroups:
    Bine k mai e lume care stie in C k eu la fac pe draq dak am inteles vreun program in C.
    Incearca sa treci apa ca Titanicul,nu ca gasca.

  14. #14
    Junior jmeckeru's Avatar jmeckeru reprezinta o cantitate neglijabila
    Data de inscriere
    05-11-2006
    Varsta
    37
    Sex
    M
    Mesaje
    52
    Mesaje bazar
    113
    Putere Reputatie
    36
    Reputatie
    10
    Puncte CF
    0.0
    Raspunsul corect este c) 1 si 3 (int si char)
    Din moment ce for este o structura de iterare (cu alte cuvinte contorul creste cu o unitate la fiecare pas), nu se poate folosi un contor de tip float sau double.
    Motivul este simplu: nu poti accesa elementul 3.2 dintr-un vector (adik a[3.2] de ex).

    Practic, din moment ce for are forma:
    Cod:
    for ( expresie_initiala ; expresie_conditionala ; expresia_de_bucla )
       {      intructiuni     }
    poti sa folosesti ce tip vrei pentru contor atat timp cat sunt respectate regulile limbajului, dar o structura for cu un contor float nu o sa aiba o utilizare practica (este pur si simplu aiurea, numai dak n-ai ce face).

  15. #15
    Crux Crux's Avatar Crux este pe calea cea buna
    Data de inscriere
    03-10-2005
    Locaţie
    Rovine
    Varsta
    40
    Sex
    M
    Mesaje
    576
    Mesaje bazar
    73
    Putere Reputatie
    40
    Reputatie
    41
    Puncte CF
    39.0
    Citat Mesaj iniţiat de jmeckeru Vezi mesajele
    Practic, poti sa folosesti ce tip vrei pentru contor atat timp cat sunt respectate regulile limbajului, dar o structura for cu un contor float nu o sa aiba o utilizare practica (este pur si simplu aiurea, numai dak n-ai ce face).
    Gandesti foarte ingust. O secventa for poate avea multiple aplicatii cu tipuri de date care nu sint int. De exemplu cand efectiv ai nevoie sa folosesti contoarul pentru a incrementa o valoare float (caz pentru tipul float), chiar si tipul char isi poate gasii utilitati in cadrul unei probleme de scoala. SINGURA aplicatie in care nu se preteaza toate tipurile de date, si aici ma refer indeosebi la tipul float, este adresarea indexata, si anume:
    float index = 3.2;
    char vector[] = {"BLAH!"};
    printf("%c",vector[index]);
    Atata timp cat tu te uiti la for-uri doar ca la o modalitate de a parcurge un vector, nu te vei gandii si la alte aplicatii practice.

  16. #16
    Newcomer nicolae_cata reprezinta o cantitate neglijabila
    Data de inscriere
    18-09-2006
    Varsta
    44
    Sex
    M
    Mesaje
    27
    Mesaje bazar
    18
    Putere Reputatie
    36
    Reputatie
    10
    Puncte CF
    20.0
    Toate, stii de ce?

  17. #17
    Junior jmeckeru's Avatar jmeckeru reprezinta o cantitate neglijabila
    Data de inscriere
    05-11-2006
    Varsta
    37
    Sex
    M
    Mesaje
    52
    Mesaje bazar
    113
    Putere Reputatie
    36
    Reputatie
    10
    Puncte CF
    0.0
    Citat Mesaj iniţiat de Crux Vezi mesajele
    Gandesti foarte ingust. O secventa for poate avea multiple aplicatii cu tipuri de date care nu sint int. De exemplu cand efectiv ai nevoie sa folosesti contoarul pentru a incrementa o valoare float (caz pentru tipul float), chiar si tipul char isi poate gasii utilitati in cadrul unei probleme de scoala. SINGURA aplicatie in care nu se preteaza toate tipurile de date, si aici ma refer indeosebi la tipul float, este adresarea indexata, si anume:
    float index = 3.2;
    char vector[] = {"BLAH!"};
    printf("%c",vector[index]);
    Atata timp cat tu te uiti la for-uri doar ca la o modalitate de a parcurge un vector, nu te vei gandii si la alte aplicatii practice.
    Era doar un exemplu. Poti sa-mi dau tu un exemplu de aplicatie practica in care ai nevoie sa incrementezi un float?

    Ideea e k un algoritm care foloseste un iterator nu poate avea 6.7 pasi de ex (si aici nu poti sa zici de break pt k tot un numar intreg de pasi se executa). Din moment ce se folosesc un numar intreg de pasi, ce rost are sa folosesti un iterator float? Doar pt k se poate nu inseamna k e gandit bine si k e corect.
    Sunt curios ce ar zice un profesor de C++ k eu am dat destule teste din astea si le-am luat.

  18. #18
    Comfortably numb oveman's Avatar oveman este cu certitudine unul din liderii acestei comunitati oveman este cu certitudine unul din liderii acestei comunitati oveman este cu certitudine unul din liderii acestei comunitati oveman este cu certitudine unul din liderii acestei comunitati oveman este cu certitudine unul din liderii acestei comunitati oveman este cu certitudine unul din liderii acestei comunitati oveman este cu certitudine unul din liderii acestei comunitati oveman este cu certitudine unul din liderii acestei comunitati oveman este cu certitudine unul din liderii acestei comunitati oveman este cu certitudine unul din liderii acestei comunitati oveman este cu certitudine unul din liderii acestei comunitati
    Data de inscriere
    03-10-2005
    Sex
    M
    Mesaje
    3,293
    Mesaje bazar
    256
    Putere Reputatie
    54
    Reputatie
    4291
    Puncte CF
    46.0
    Usergroups:
    Citat Mesaj iniţiat de jmeckeru Vezi mesajele
    Era doar un exemplu. Poti sa-mi dau tu un exemplu de aplicatie practica in care ai nevoie sa incrementezi un float?
    That's not the point. Ideea era daca poti sau nu sa folosesti un float pe post de contor.
    Cut me off at the knees and call me tripod.

  19. #19
    Junior jmeckeru's Avatar jmeckeru reprezinta o cantitate neglijabila
    Data de inscriere
    05-11-2006
    Varsta
    37
    Sex
    M
    Mesaje
    52
    Mesaje bazar
    113
    Putere Reputatie
    36
    Reputatie
    10
    Puncte CF
    0.0
    Mai incerc odada .... poate reusiti sa intelegeti ....

    Definitia iteratorului: un tip de date folosit pt a marca o pozitie intr-o colectie de date (vector, lista etc).
    http://www.google.ro/search?hl=ro&cl...ition&ct=title
    http://en.wikipedia.org/wiki/Iterator

    Structura for este o structura care foloseste o iteratie:
    http://msdn2.microsoft.com/en-us/library/b80153d8.aspx

    Din moment ce o colectie de date nu poate avea un numar rational de elemente (de ex 5.8 elemente) si un algoritm nu poate avea un numar rational de pasi rezulta ca nu poti folosi un float ca iterator (sau contor pt for cum ii ziceti voi).

    C++ te lasa sa faci multe chestii, dar e o diferenta intre cod bun si corect si cod inutilizabil (scris doar pt k merge). Si in plus, asta e intrebare luata din carte de C++ si raspunsul corect este cel pe care l-am zis eu.

    Absolviti si voi o facultate in domeniu si discutam dup-aia

  20. #20
    Newcomer nicolae_cata reprezinta o cantitate neglijabila
    Data de inscriere
    18-09-2006
    Varsta
    44
    Sex
    M
    Mesaje
    27
    Mesaje bazar
    18
    Putere Reputatie
    36
    Reputatie
    10
    Puncte CF
    20.0

    Float

    Daca de exemplu ai o matrice, cate foruri folosesti, 2? Astfel cu un float poti folosi un singur for, si sa ai linia in partea intreaga a unui float si coloana dupa virgula, iar iteratia sa o faci cu valoarea care iti convine, castigand timp, pentru ca nu mai intri in al doilea for si nu mai testez a doua conditie, nu?
    Vrei mai putine reclame? Inregistreaza-te sau logheaza-te

Pagina 1 din 2 1 2 UltimaUltima
Google+

Cautati logo-ul CraiovaForum?

Iata cateva variante: