Informatică, întrebare adresată de Chocolata, 8 ani în urmă

Se consideră tabloul unidimensional A[1..n] cu elemente numere întregi. Să se compună un
program care va transcrie la începutul tabloului B[1..n] în ordine crescătoare elementele lui
negative, apoi ,în continuare, pe cele nenegative în ordine descrescătoare.
De exemplu, având A = (4, -8, 7, -6, 0, -7, 5), se va obţine B = (-8, -7, -6, 7, 5, 4, 0).

Răspunsuri la întrebare

Răspuns de victorboghean
1

Eu am facut in C, daca iti trebuie in pascal pune in loc de printf-writeln

#include <stdio.h>

#include <stdlib.h>

int A[7] = {4, -8, 7, -6, 0, -7, 5};  

int B[100];

int i, j, aux;

int main(){

for(i=0; i<7; i++){      //acest ciclu afiseaza sirul A in ordine escrescatoare

  for(j=0; j<6; j++){

    if(A[j]>A[j+1]){    //verifica conditia daca primul termen este mai mare   //ca al doilea, daca da atunci efectueaza urmatorii pasi

  aux = A[j+1];

  A[j+1] = A[j];

  A[j] = aux;

          }

    }

}

printf("A[7] = ");          //Afisam sirul A

 for(i=0; i<7; i++){

   for(j=0; j<6; j++){

    if(A[j]>=0){     //verificam daca numarul este pozitiv, daca da fectuam   //urmatorul cod

  if(A[j]<A[j+1]){

aux = A[j];

A[j] = A[j+1];

A[j+1] = aux;

     }

  }

}

}

for(i=0; i<7; i++){   //sirului B, ii atribuim sirul A

B[i]=A[i];

}

printf("\n\nB[7]= ");   //afisam sirul B

for(i=0; i<7; i++){

printf("%d ",B[i]);

}

printf("\n\n");  //lasam un pic de spatiu

return 0;

}


victorboghean: coroana?
victorboghean: mersi, succes mai departe
Alte întrebări interesante