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

Hei salut, poate cineva sa-mi scrie acest pragram (TurboPascal) in limbajul C?

Va rog frumos, am nevoie urgent!
Program A1;
uses crt;
const n=12;
a:array[1..n] of integer=(0,0,-2,0,-2,20,-2,-4,-4,4,-9,5);
var i,j,k,q:byte;
z,w:integer;
begin
clrscr;
for i:=1 to n do begin
write(a[i],' ');
end;
writeln;writeln;
for i:=1 to n do begin
if a[i]>0 then inc(k);end;
i:=n;
repeat
if a[i]>0 then begin
z:=a[i];
for j:=i downto 2 do begin a[j]:=a[j-1];end;
a[1]:=z;
end
else dec(i);
if a[i] < 0 then begin
inc(q); w:=a[i];
for j:=i to n-q do begin a[j]:=a[j+1];end;
a[n-q+1]:=w;
end;
until i=k;
for i:=1 to n do begin
write(a[i],' ');end; readkey;
end.

Răspunsuri la întrebare

Răspuns de Petruccinator
1

#include <stdio.h>

#include <conio.h>

#define n 12

int main(){

   int k = 0, q = 0, i, j, z, w, a[n] = {0, 0, -2, 0, -2, 20, -2, -4, -4, 4, -9, 5};

   //clrscr();

   for(i = 0; i < n; ++i)

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

   puts("\n");

   for(i = 0; i < n; ++i)

       if(a[i] > 0)

           ++k;

   --i;

   do{

       if(a[i] > 0){

           z = a[i];

           for(j = i; j >= 1; --j)

               a[j] = a[j - 1];

           a[0] = z;

       }

       else

           --i;

       if(a[i] < 0){

           ++q;

           w = a[i];

           for(j = i; j < n - q; ++j)

               a[j] = a[j + 1];

           a[n - q] = w;

       }

   } while(i >= k);

   puts("");

   for(i = 0; i < n; ++i)

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

   getch();

   return 0;

}


brentimusps: Esti cel mai tare!! Mersi
Alte întrebări interesante