Пикачу, вам еще учится и учится...
Особенно радуют строки типа:
int n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12,n13,n14,n15,n16,n17,n18,n19,n20,n21,n22,n23,n24;
Заменяется простейшим массивом:
int n[25];
Можно задать начальные значения:
int n[25]={7,32755,9,10,-125,итд};
бращатся к каждой ячейке так:
int a=7;
int b=8;
n[a]=b;
или так:
n[3]=4;
варианты можно комбинировать как угодно. Возможно делать многомерные массивы.
И конечно же, бессмысленно спрашивать Пикачу про указатели... Ваш калькулятор можно сократить раз в 15 по размеру исходного кода да и вообще...
К тому же его можно сделать далеко не консольным, а по типу виндовсовского (Читаем про MFC). Зачем с консолью вообще извращатся..
Дам подсказку: Для того, чтобы нарисовать такой флаг, нужно уметь рисовать линии и полигоны залитые. Можно обойтись просто линиями. Вот, если нарисуете произвольную линию, получите мое большое одобрение. В принципе, это просто.
ARV писал(а):в том и преимущество языков высокого уровня, что их осилить проще...
Я с вами не собирался спорить. Их осилить проще чем ассемблер, но вот тот же ассемблер необходим для понимания тех процессов которые происходят в языках высокого уровня. Да и как - то привычно программить на нем)))))
ARV писал(а):в том и преимущество языков высокого уровня, что их осилить проще...
Я с вами не собирался спорить. Их осилить проще чем ассемблер, но вот тот же ассемблер необходим для понимания тех процессов которые происходят в языках высокого уровня. Да и как - то привычно программить на нем)))))
вы не совсем правы. современное ПО находится в таком состоянии, что попытка понимать его, изучая на уровне регистров и ячеек озу, повергает вас в такую прорву подробностей, что вы просто там увязнете, не добившись чего-то конкретного. наоборот, чтобы понять процессы в ОС и т.п., надо максимально абстрагироваться от конкретики процессора, регистров, портов и т.п. Вещи, требующие супер-детального понимания - это либо вирусы, либо отладка драйверов, а в остальном оно только мешает.
помните про сороконожку? пока ее не спросили, как она управляет своими 40 ногами, она бегала себе и не жужжала, а после вопроса не смогла сделать и шагу... так и здесь: когда для рисования флага вы используете что-то типа SetFillColor(Red);
DrawBox(0,0,MaxX,MaxY/3);
SetFillColor(White);
DrawBox(0,MaxY/3,MaxX,MaxY*2/3);
SetFillColor(Blue);
DrawBox(0,MaxY*2/3,MaxX,MaxY); - вам все понятно (и не только вам), а когда то же самое вы делаете на ассемблере, усилий для понимания приходится тратить существенно больше. а для рисования флага британии у вас на данном этапе сил вообще не хватило. я не сомневаюсь, что алгоритм брезенхама вы с успехом реализуете на ассемблере, но ваши конкуренты к тому моменту будут рисовать уже в 3D не жалко ли вам своего времени будет?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Ну да)))))
Я вообще не против языков высокого уровня
и никогда не был
просто когда начал интересоваться
программированием под рукой оказалась только книга по асму
а про си я тогда не подумал
кстати, вот код последней проги:
вы на дату издания книги посмотрите... если учесть, что книга издается за пару лет, то сведения там еще древнее... а EGA-адаптеры, не говоря про CGA - это вообще нонсенс на современном этапе, и тратить время на его изучение лично мне просто было бы жалко... а вот про регистры какого-нибудь GeForce GX**** что-то книжки не пишут
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
турбопаскаль это тот же труп, что и CGA-EGA. Очень рекомендую Delphi - тот же паскаль, но с ООП и вполне современно. если вы не намерены стать профессиональным программистом, С++ изучать так же нет особоых причин, во всяком случае, глубоко изучать, ибо там можно мозг сломать запросто, если он неокрепший
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...