- Форум
- По малко от всичко
- Информационни технологии
- Програмиране и Използване на Компютри
Искам да попитам дали някои може да ми помогне със следната курсова задача по ПИК... Не съм сигурен дали това е точната тема ноо..реших да опитам .. Мерси предварително
Да се напише програма която: (на С)
Да позволи на потребителя да въвежда масив от цели числа.
Да може да сортира масива (в низходящ ред).
Да реализира двоично търсене на елемент от масива
Програмата да има текстово меню,което потребителят да избира дали да въвежда масив или да търси числа във вече въведен масив...
Каква точно помощ ти трябва?
Има 10 вида хора. Тези, които могат да четат двоичен код и тези, които не могат.
Ем чесно да си кажа аз изобщо не разбирам от програмиране ... и се надявам някой да ми помогне всмисъл да ми я напише![]()
За кога? Уикенда ще имам време.
Има 10 вида хора. Тези, които могат да четат двоичен код и тези, които не могат.
ем ако имаш време... по принцип ми е за вторник .... Ще съм ти много благодарен
Леле как ви мъчат с това C, никак не ви завиждам. Това е най-нескопосания и тегав език дето ми се е налагало да разучавам и не знам как някой дето хал хабер си няма от програмиране може да се научи да програмира на това несъвършенство. То е все едно да вкараш костенурка в самолет и да кажеш "пилотирай!". С тази разлика че в самолета всъщност има логика.
Може би искам само да кажа - ако някой се чувства глупав за дето не схваща C, не е от умствения багаж, от езика си е![]()
Последно редактирано от JDeel : 05-22-2013 на 13:07
К'во му е на C ? Синтаксисът ли е някакъв объркващ ? Смис. не разбирам какво общо има *програмирането* като умение с езика ? о0
Явно си нямаш и на понятие какво представлява Assembler... виж, прочети 2-3 реда и нищо няма да разбереш.. основата се учи с месеци...
Не ми се пише нищо, но ти намерих един прост пример, който чете 2 числа и изкарва тяхната сума
Извинявам се, че ще оспамя темата
Код:jmp start ;**************************** ;* Program to read in two * ;* numbers and add them * ;* and print out the result * ;**************************** number db 7 dup 0 ; string which will store input and output n1 dw 0 ; two input variables n2 dw 0 res dw 0 ; one output variable cr dw 13,10,"$" ; carriage return, line feed start: mov dx,offset number mov bx,dx mov b[bx],5 ; maximum 5 characters to read mov ah,0ah int 21h ; read in a string from keyboard mov bx,offset number +1 mov cx,00 mov cl,[bx] ; cl now contains number of digits mov ax,00 ; ax will contain the number input usedigit: inc bx ; get next digit shl ax,1 ; multiply by 10 using 2 shift ops and an add... mov dx,ax ; ... x*8 + x*2 = x*10 is the principle. shl ax,2 add ax,dx ; ax is now multiplied by 10 mov dx,00 mov dl,[bx] ; dl has new character sub dx,48 ; subtract 48 = ascii('0') to get number value add ax,dx ; add to ax loop usedigit ; loop statement= jmp if cx > 0 cmp n1,00 ; see if this is first or second number read jnz second mov n1,ax ; assign it to the first variable jmp start ; read in another number second: mov n2,ax ; or assign to second variable and continue print_cr: mov ah,09 mov dx,offset cr ; print out a carriage return character int 21h addnos: mov ax,n1 ; move numbers to registers ... mov bx,n2 add ax,bx ; ...and add mov res,ax ; store the result mov cx,00 setup_string: mov bx,offset number+7 ; put a $ at end of buffer. mov b[bx],'$' ; we will fill buffer from back forwards dec bx mov ax,res convert_decimal: mov dx,10 div dl ; divide by 10 add ah,48 ; convert remainder to character mov [bx],ah ; and move to buffer for output dec bx mov ah,00 ; quotient becomes new value cmp ax,00 ; if we haven't got all digits divide again jnz convert_decimal printout: mov dx,bx inc dx ; we decremented once too many, go forward one. mov ah,09 int 21h ; output the string close: mov ah,4ch mov al,00 int 21h ; end program
Последно редактирано от MaGuSs : 05-22-2013 на 22:34
-Щастието е нещо вътрешно, а не външно, затова то не зависи от онова, което имаме, а от това, което сме.
-Учи се от вчера, живей за днес, вярвaй в утре!
Ей това човек като каже нещо напряко на друг на схващанията и веднага се взима за малоумен
Ми знам какво е Assembler, разучавал съм го и него. И микроконтролери съм програмирал. В момента поддържам уеб платформа която улеснява програмирането на определен език на една група от хора-непрограмисти. Вместо да пишеш код - визуално редиш блокова схема, натискаш бутон и кода ти е написан. Едновременно работя с няколко езика и смятам че имам някаква представа от програмиране.
Ей там е проблема - аз смятам, че програмирането трябва да е лесно разбираемо, кода да се разбира дори без коментари в него, и по възможност дадено нещо да се направи с минимум код. Сега ако трябва да прочета 2 числа с толкова код... някак си не ми стои добре, колкото и прехвален да е Assembler откъм производителност. Не мога и да си представя колко хиляди реда трябва да напиша за нещо дето да е приложимо някъде.
При C/C++ ми изглежда подобен хаос. То се вкарват едни библиотеки, едни константи се пишат навсякъде, функциите са с по кутурнайсе входни параметри, повечето от които са някакви масиви с кутурнайсе елемента в тях. На мен ми беше мъка даже да работя с текст, а за асоциативни масиви подобно на тези в PHP дори не си и мечтая. Но аз се опитвах да напиша dll за peer-to-peer комуникация с TCP/IP, та може и да съм попаднал на най-кофти функциите.
Не. Ако под синтаксис разбираме това...
int a=1;
int b=2;
int c=a+b;
function MyFunction(a,b) {return(a*b);}
int d=MyFunction(a,b);
if (a<b) {направи ми нещо}
for (int i=0; i<10; i++) {направи ми нещо}
while(true) {
if (условие) {continue;}
if (друго условие) {направи ми нещо} else {break;}
}
... и още малко притурки, всичко е окей. Това го има например PHP (даже без въвеждането на параметри), където за да направиш програмка с учебна цел е достатъчно да имаш инсталиран сървър (за 2 минути работа), да направиш обикновен текстов файл и да почнеш да пишеш в него примерно на notepad++. Резултата от кодирането се вижда веднага, кодирането се случва бързо и лесно, функциите са директни и с малко параметри, и общо взето е удоволствие да си пишеш програмкиИ като човек схване тия основни неща нищо не пречи да почне да му се обяснява защо в C/C++ се въвеждат параметри и т.н.
Добре, де, и в крайна сметка какво му е на това C не разбрах ?
Това имам предвид под синтаксис, да.
-Щастието е нещо вътрешно, а не външно, затова то не зависи от онова, което имаме, а от това, което сме.
-Учи се от вчера, живей за днес, вярвaй в утре!
@JDeep, не знам как може да кажеш, че C/C++ е "хаос". Специално C и C++ са едни от най-силно типизираните и структурирани езици. За да напишеш една програма, е по-трудно от колкото на PHP, но ако разбираш какво правиш е добре и структурирано. И библиотеките, това че се инклудват една по една си има цел, и не е просто ей така сложено. Специално ако говорим за хаос бих казал, че в PHP има доста повече хаос от колкото в C++. Виждам, че имаш опит и мисля, че няма смисъл да ти ги казвам тези работи. Естествено, всеки си има мнение.
Последно редактирано от PonxY : 05-23-2013 на 21:25
Хаосът идва от някои реализации в ООП-то на PHP, които за мен са малко странни, но да прав си, че всичко зависи от програмиста. Лошото е, че PHP-то дава голяма свобода и понякога хората пишат много хаотичен и неструктуриран код. Но като цяло си прав, че всичко зависи от човека, който го пише този код.