Diferență între revizuiri ale paginii „SDA Lucrarea 1”

De la WikiLabs
Jump to navigationJump to search
Linia 1: Linia 1:
 
== Exercițiul 1 ==  
 
== Exercițiul 1 ==  
  
Realizați un program care să citească de la tastatură o lungime '''n''', apoi '''n''' numere care să fie stocate într-un vector. Apoi se va citi de la tastatură o valoare '''v''' și se vor afișa pe ecran de câte ori apare valoarea '''v''' în vector.
+
Realizați un program care să citească de la tastatură o lungime '''n''', apoi '''n''' numere care să fie stocate într-un vector. Apoi se va citi de la tastatură o valoare '''v''' și se va afișa pe ecran de câte ori apare valoarea '''v''' în vector.
  
 
== Exercițiul 2 ==
 
== Exercițiul 2 ==

Versiunea de la data 5 martie 2015 22:44

Exercițiul 1

Realizați un program care să citească de la tastatură o lungime n, apoi n numere care să fie stocate într-un vector. Apoi se va citi de la tastatură o valoare v și se va afișa pe ecran de câte ori apare valoarea v în vector.

Exercițiul 2

Modificați programul de la exercițiul 1 astfel încât citirea datelor și cautarea valorii în vector să fie scrise în funcții diferite.

Exercițiul 3

Modificați programul de la exercițiul 2 astfel încât cele două funcții și main să se afle în fișiere separate.

Exercițiul 4

Următorul program implementează o sortare de vector dar are o eroare. Utilizați debugger-ul grafic pentru a identifica problema.

#include <stdio.h>

int main(){
    int vectorLength;
    printf("Length = ");
    scanf("%d", &vectorLength);

    int vector[vectorLength];
    int i;    
    
    for(i=0; i<vectorLength; i++){
        printf("v[%d] = ", i);
        scanf("%d", &vector[i]);
    }
    

    int temp;
    int done;
    
    do{
        done = 1;
        for(i=0; i<vectorLength; i++){
            if(v[i] > v[i + 1]){
                temp = v[i];
                v[i] = v[i + 1];
                v[i + 1] = temp;
                done = 0;
            }
        }
    }while(!done);
    
    for(i=0; i<vectorLength; i++){
        printf("%d, ", v[i]);
    }
    printf("\n");
    return 0;
}

Exercițiul 5

Următorul program calculează factorial-ul unui număr, dar are o eroare. Utilizați debugger-ul grafic pentru a identifica problema.

#include<stdio.h>

int factorial(int n){
    return n * factorial(n - 1);
}

int main(){

    int number;
    scanf("%d", &number);
    
    printf("n! = %d\n", factorial(number));
    
    return 0;
}