Documente Academic
Documente Profesional
Documente Cultură
i Tehnologia Informaiei
Documentatie Program 1
Cerinta: Se citeste de la intrare un sir infinit de numere: a1, a2, a3, a4, a5, a6, , ak,
si produce la iesire sirul a3, a2, a1, a6, a5, a4 ... (inverseaza grupuri de cite 3
elemente). Generalizare.
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int stack[DIM];
int n, top = 0;
int main(void){
int *p, k, i, j = 1;
p = (int*)malloc(3*sizeof(int));
if (p == NULL){
free(p);
getchar();
getchar();
return 0;
}
top++;
stack[top] = x;
}
}
void del_stack(void){
int x;
if (top == 0){
printf("Stiva goala! \n");
exit(1);
}
else{
x = stack[top];
top--;
printf("Am scos: %i\n", x);
}
}
Pseudocodul programului:
START
{
fie DIM=100 constanta;
fie stack[DIM], n, top=0 intregi;
fie void add_stack(x intreg) functie {
daca (top=n-1){
afiseaza mesaj eroare(stiva plina);
iesire din program;}
altfel{
(top++) + x=stack[top];
}
fie void del_stack(void) functie{
fie x intreg;
daca (top=0) {
afisare mesaj de eroare(stiva goala);
iesire din program;
}
altfel{
x=stack[top] + (top--);
afisare element extras;
}