Показать сообщение отдельно
samouverennyi
[vneZApno]
Аватар для samouverennyi
Сообщения: 701
Регистрация: 28.12.2010
Старый пост, нажмите что бы добавить к себе блог 31 октября 2012, 12:05
  #2622 (ПС)
-Цитата от Talib89 Посмотреть сообщение
-Цитата от Mase1 Посмотреть сообщение
-Цитата от Talib89 Посмотреть сообщение

Не переводись,программирование-это полная хуйня,без самообучения программистом не стать,желательно до вуза иметь базу очень хорошую.Ты хочешь всю жизнь учиться?Правда с этой специальностью можно податься в сисадмины,но тоже самое можно сделать и с другим образованием.

Вот тебе задачку скину,чтобы ты окончательно передумал,это с 1 курса.
Показать скрытый текст
Напишите программу для графической иллюстрации сорти-
ровки массивов алгоритмом слияния. Массивы изобразите в
виде диаграммы – каждый элемент массива представляется в
виде столбика, высота которого пропорциональна значению
элемента. Визуализация сортировки сводится к показу мас-
сивов после каждого перемещения элементов.

uses crt,graph;
type elem=record{элемент массива}
znc:integer;{значение}
vys:integer;{высота}
cvt:integer;{цвет}
end;
type mas=array[1..25] of elem;{массивы элементов}

procedure Sdvig(var x:mas;var n:integer);{удаление первого элемента=сдвиг влео}
var i:integer;
begin
if n>0 then
begin
for i:=1 to n-1 do
x[i]:=x[i+1];
n:=n-1;
end
else n:=0
end;
{рисование изменяюшихся массивов}
procedure Diag(x:mas;n:integer;y:integer;s:string;mx:integer );
var i:byte;
begin
outtextXY(5,y,'Massiv '+s);
if n>0 then
begin
for i:=1 to n do
begin
setfillstyle(1,x[i].cvt);
bar(100+(i-1)*15,y-x[i].vys,100+i*15,y);
end;
end
else if n=0 then {если остался последний, то стпраем}
begin
setfillstyle(1,0);
bar(100,y-mx,100+15,y);
end;
end;
var a,b,c:mas;
n,m,k,y1,y2,y3,i,j,mx:integer;
begin
initgraph(n,m,'');
n:=15;
m:=10;
y1:=getmaxY div 4;
y2:=2*y1;
y3:=3*y1;
mx:=0;
for i:=1 to n do
begin
a[i].znc:=2*i+1;{введем нечетные числа}
a[i].vys:=a[i].znc*3;
if a[i].vys>mx then mx:=a[i].vys;
a[i].cvt:=i*2;
if i mod 8=0 then a[i].cvt:=(i+1)*k;
setfillstyle(1,a[i].cvt);
bar(100+(i-1)*15,y1-a[i].vys,100+i*15,y1);
end;
for i:=1 to m do
begin
b[i].znc:=2*i; {введем четные числа}
b[i].vys:=b[i].znc*3;
if a[i].vys>mx then mx:=a[i].vys;
b[i].cvt:=i*3;
if i mod 8=0 then a[i].cvt:=(i+2)*3;
setfillstyle(1,b[i].cvt);
bar(100+(i-1)*15,y2-b[i].vys,100+i*15,y2);
end;
cleardevice;
Diag(a,n,y1,'A:',mx);
Diag(b,m,y2,'B:',mx);
Diag(c,k,y3,'C:',mx);
delay(1000);
i:=1; j:=1; k:=1; {устанавливаем счётчики}
while (i<=n) or (j<=m) do {пока не дошли до конца каждого из массивов}
begin
if (i<=n) and (j<=m) then {если оба массива ещё не закончились}
begin
if a[i].znc<b[j].znc then {то пишем в новый массив меньший из текущих элементов}
begin
c[k]:=a[i];
Sdvig(a,n);
cleardevice;
Diag(a,n,y1,'A:',mx);
Diag(b,m,y2,'B:',mx);
Diag(c,k,y3,'C:',mx);
delay(1000);
inc (k); {переходим к следующему элементу конечного массива}
cleardevice;
end
else
begin
c[k]:=b[j];
Sdvig(b,m);
cleardevice;
Diag(a,n,y1,'A:',mx);
Diag(b,m,y2,'B:',mx);
Diag(c,k,y3,'C:',mx);
delay(1000);
inc (k);
end
end
else if i>m then {иначе один из массивов уже закончился}
begin {и мы пишем из того, в котором ещё есть элементы}
c[k]:=a[i];
Sdvig(a,n);
cleardevice;
Diag(a,n,y1,'A:',mx);
Diag(b,m,y2,'B:',mx);
Diag(c,k,y3,'C:',mx);
delay(1000);
inc (k);
end
else if j>n then
begin
c[k]:=b[j];
Sdvig(b,m);
cleardevice;
Diag(a,n,y1,'A:',mx);
Diag(b,m,y2,'B:',mx);
Diag(c,k,y3,'C:',mx);
delay(1000);
inc (k);
end;
end;
setcolor(12);
outtextXY(getmaxX div 2-50,40,'Konec sortirovki');
readln;
end.

ну ты в актуальном, видимо, Вузе учишься, если вы на паскале пишете такие вещи)
Проходятся и актуальные java и c#,просто хотел тому чуваку показать какие задачки без подготовки в самом начале пришлось решать,без самостоятельной подготовки на таких специальностях,как правило,делать нечего.
ну такие трудности особо не пугают
если чо вы же мне поможете с литературой, да
какой курс у тебя? какими нибудь проектами сам занимаешься?
что с работой после вуза?

offline
Ответить с цитированием