Премини към съдържанието

krisku

Потребител
  • Публикации

    1117
  • Регистрация

  • Последно онлайн

Всичко публикувано от krisku

  1. krisku

    Литература за Borland C++

    Borland C++ е среда за програмиране, т.е. не програмен език, а програма, включваща в себе си основно: text editor, compiler, debugger, linker и т.н. Ако пишете програми на C++, трябва да намериш литература за този език, която в интернет има колкото искаш (включително преведена на български език), едно просто търсене в Google ще ти отвори доста вратички: C++ електронни книги на български Успех и, ако има нещо - пиши!
  2. Благодарско! Тоест трябва да му кажа да си вземе Bluetooth устройство, което играе ролята на приемник, след това това устройство реално става предавател, който подава получената информация от спътника на BlackBerry-то, така ли? А всъщност няма ли да стане, ако изтегля примерно Google Maps за BB, като си генерира уеб-трафик, но всъщност основната идея се губи, програмчето няма да показва мястото в което се намира примерно автомобила. Ако реално върши същата работа, по-добре да изтегля една Hi-Res карта на България и да увелича съответния участък, хубавото е, че телефона помни предишните зададени параметри (при преглед) на дадено изображение.
  3. Благодаря! Не съм сигурен, че Google предлагат offline версия на картата, или регион от нея. А свързването към уеб постоянно не мисля, че ще излезе много скъпо, ако се ползва само при необходимост. Ще се поразровя да видя как стоят нещата и ще пишат, ако някой има мнение, да драска.
  4. Привет, четох в интернет от различни източници как мога да подкарам пустия му GPS (вграден в телефона, каквото и да означава това) на този телефон. Разбрах, че услугата сама по себе си е безплатна, защото се свързва през GSM среда към спътниците, но повечето телефони всъщност ползват GPRS свързване, което генерира GPRS-трафик, който пък от своя страна, до колкото разбрах струвал стотинки у нас. Мислех си да инсталирам Google Maps за Blackberry, но никъде не прочетох дали програмата генерира уеб-трафик (който предполагам е по-скъп) или се връзва чрез GPRS? Ако може някой да ме просветли (накратко, аз ще се оправя нататък), защото телефонът е на братовчед ми и за пръв път се сблъсквам с подобни неща, аз имам телефон само за обаждания и смс-и. ;-)
  5. krisku

    задачка на C++

    1. Namespaces. Програмата ще се компилира и без този ред. 2. в случая system(), вика командния интерпретатор на Windows (CMD.EXE) с команда "pause", която спира изпълнението на текущата програма, докато потребителя не натисне дадеш клавиш. Ресурсоемък вариант си е, ясно защо.
  6. krisku

    задачка на C++

    #include <iostream> using namespace std; main() { printf("Dec:\tOct:\tHex:\n"); for(int cur_num = 1; cur_num<=20; cur_num++) { printf("%d\t%o\t%#X\n", cur_num, cur_num, cur_num); } system("Pause"); return 0; } Напротив. Точно това са еквивалентите на числата (от десет.) в останалите бройни системи. Ако не вярваш, увери се сам: http://www.cut-the-knot.org/binary.shtml P.S.: Префикса 0x е прието да се използва за числа в шестнадесетична бройна система, ако искаш без него, просто във пред форматния спецификатор X, премахни sharp-a (#).
  7. krisku

    задачка на C++

    #include <iostream> using namespace std; main() { for(int cur_num = 1; cur_num<=20; cur_num++) { printf("Decimal: %d\n", cur_num); printf("Octal: %o\n", cur_num); printf("Hexadecimal: %#X\n", cur_num); printf("\n---\n\n"); } system("Pause"); return 0; } Ако не ти е ясно нещо, разгледай документацията за printf и по-конкретно форматните спецификатори на функцията.
  8. А защо не прочетеш низ, не го обърнеш и след това с atoi() примерно не запазиш int еквивалента на низа? В string.h има вградена функция за обръщане на низ - strrev(). /* C Implementation */ #include <stdio.h> #include <string.h> #include <conio.h> int main(void) { char *input = malloc(100*sizeof(char)); // или чрез статично заделяне: char input[100]; int rev_num = 0; printf("Enter input number: "); gets(input); strrev(input); // обръща низа rev_num = atoi(input); // присвоява на rev_num целочисления еквивалент на знаковия масив printf("%d", rev_num); getch(); return 0; }
  9. krisku

    Курсова работа на "C"

    #include <stdio.h> #include <conio.h> int fact(int input); int main(void) { int n; printf("Enter input: "); scanf("%d", &n); int rslt = fact(n-4); // пресмята (n-4)! printf("4*(%d-4)! = %d", n, 4*rslt); getch(); // четене на знак от stdin (входния поток) преди да затвори програмата } int fact(int input) { int fact = 1; int i; if(input==1) return 1; // лека оптимизация else { for(i=1; i<=input; i++) { fact=fact*i; } return fact; } } Така става ли? Ако не, кажи какво по-конкретно не знаеш, та да мислим еквивалентни решения.
  10. krisku

    Курсова работа на "C"

    1. За да пресметнеш fact(x), трябва да сам да напишеш функция за това, C няма вградена функция за това. 2. Предполагам разбираш защо n<=13, редицата fact(x), fact(x+1), fact(x+n) расте изключително бързо и при n==13, резултата прехвърля размера на стандартния целочислен тип в C. Нали в условието имаш n<13, ако искаш да реализираш алгоритъма, може да пазиш резултата в double променлива в повечето случай е 8bytes (64bit), което е едно голямо число, всъщност. Но най-добре поразгледай алгоритми за работа с "големи числа", пряко свързани със знакови масиви. #include <stdio.h> #include <conio.h> #include <stdlib.h> int fact(int input); int main(void) { int input; printf("Enter input: "); scanf("%d", &input); if(input<4) input=0; // Факториал е резултат от умножението на всички ПОЛОЖИТЕЛНИ цели числа, // по-малки от 'input' и >=0 (Ex: 3! = 3*2*1 = 6 else if(input>13) exit(1); // изпълнява условието n<13, ако n>13 - затваря програмата unsigned rslt = fact(input-4); // пресмята (n-4)! printf("4*(%d-4)! = %d", input, 4*rslt); getch(); } int fact(int input) { unsigned fact = 1; if(input==1) return 1; else { while(input) { fact*=input; input--; } return fact; } } Това далеч не е от най-продуцивните решения, ако не ти е спешно, тези дни може да драсна нещо по-добро, но не обещавам нищо.
  11. krisku

    Обяснение на задача в C++

    1. Смесваш двата езика, C и C++, което синтактически в повечето случаи не е грешно (C++ е обектно-ориентирано разширение на C), но ако пишеш стандартен C++, трябва да промениш #include <stdio.h> 2. Като цяло кода е доста кофти написан, може да се оптимизира доста, но понеже нямаш такова задание, няма да влизам в подробности. Нека почнем с "литературния" анализ: #include <stdio.h> int main() { unsigned int M=0; unsigned int N = 0; int result; int PA[999]; int PB[999]; int PC[999]; int totalsum = 0; int positivesum = 0; int maxElementValue = -999999; int size_c = 0; //third aray size Тук декларираме и инициализираме работните променливи и масиви (PA, PB, PC), предполагам е ясно, че размерите на всеки един масив са общо (ако приемем, че имаме 32bit-процесор и int = 4bytes): 4*999 = 3996bytes. printf("Please enter first array's dimension (PA): "); result = scanf("%d", &M); for(int i=0; i < M; i++) { printf("Please enter element PA[%d]: ", i); result = scanf("%i", &PA[i]); } printf("Please enter second array's dimension (PB): "); result = scanf("%d", &N); for(int i=0; i < N; i++) { printf("Please enter element PB[%d]: ", i); result = scanf("%i", &PB[i]); } В тази част запълваме масивите със стойности въведени от потребителя (т.нар standart/user input), тук променливата 'result' е напълно ненужна сама по себе си. if (M>N) { size_c = M; for (int j=0; j<N;j++) { if (PA[j]<PB[j]) PC[j] = PA[j]; else PC[j] = PB[j]; } for (int j = N; j<M; j++) { PC[j] = PA[j]; } } else { size_c = N; for (int j=0; j<M;j++) { if (PA[j]<PB[j]) PC[j] = PA[j]; else PC[j] = PB[j]; } for (int j = M; j<N; j++) { PC[j] = PB[j]; } } 1. Програмата проверява дали размерът (според въведените стойности) на първия масив е по-голям от втория (M>N) 2. Aко M>N, програмата присвоява на size_c стойността на М и започва да обхожда масива, като проверява дали текущия елемент (j) на масива PA е по-малък от текущия елемент на масива PB[], ако резултата е TRUE, програмата присвоява на PC[j] стойността на PA, в противен случай тази на PB[]. 2.1. Като инициализираща стойност, j приема размера на втория масив (N) и върти цикъла, докато j<M, и запълва масива PC[] със стойностите на по-големия (в случая) масив - PA[]. 3. Програмата действа по същия начин както в (2), но ако N>M (т.е., ако втория масив е по-голям от първия). for (int i=0; i<size_c; i++) { totalsum +=PC[i]; if (PC[i]>0) { if (positivesum==0) { positivesum = 1; } positivesum*=PC[i]; } if (PC[i]>maxElementValue) maxElementValue = PC[i]; } 1. В цикъла for(), програмата сумира всички елементи на конкретния масив, като променливата size_c, е предварително инициализирана от някой от предишните code block. 1.1. по време на сумирането, програмата проверява дали текущия елемент е по-голям от нула, като не знайно (за мен) защо при положително число, увеличава стойността на променливата positivesum, като умножава себе си ПО текущия елемент (positivesum = positivesum*PC <=> positivesum*=PC). 1.1. отново по време на сумирането програмата проверява всеки елемент дали е >maxElementValue, който е предварително инициализиран с нула, първия положителен елемент от масива се присвоява на променливата и последствие всеки елемент по-голям от maxElementValue, се присвоява на променливата и така до обхождане на целия масив. printf("Array PA: "); for(int a=0; a < M; a++) { printf("%i ", PA[a]);} printf("\r\n"); printf("Array PB: "); for(int b=0; b < N; b++) { printf("%i ", PB[b]);} printf("\r\n"); printf("Array PC: "); for(int c=0; c < size_c; c++) { printf("%i ", PC[c]); } printf("\r\n"); printf("Total sum of PC[] elements: %d \r\n", totalsum); printf("Positive elements: %d \r\n", positivesum); printf("Max Elelement: %d", maxElementValue); printf("\r\nPress anykey to close the program: "); char c; scanf("%s", &c); } Изписване на изходните данни (резултатите) от изпълнението на програмата, като първо програмата изписва съдържанието на трите масива. Последните два реда, се използват за да се задържи активен прозореца на CMD, сравнително НЕелегантно решение е това, но тези редове не трябва да ги вписваш в блок-схемата. --------------- За блок схемата, хвани се и прочети нещо в Google, не е сложно, а и алгоритъма е сравнително лесен.
  12. И аз се присъединявам към горните мнения, това си е чар, има хора, които искат да го имат, но уви. Радвай се, никой няма да те хареса повече или по-малко съответно ако нямаш или имаш лунички.
  13. krisku

    Проблем с Visual Studio 6.0

    http://vbox7.com/play:388c5b07 И си представи, че всички лица от клипа те питат: "Каква е грешката?" ;-)
  14. krisku

    Малък проблем с Dev++

    Да беше споменал на какъв език пишеш. Ако пишеш на C, ето няколко решения на проблема: 1. getch() #include <stdio.h> #include <conio.h> // getch() int main(void) { printf("Hello world!"); /* press any key to close */ getch(); } - getch() не е стандартна функция и до колкото знам се поддържа само от Windows и M$-DOS. 2. system() #include <stdio.h> int main(void) { printf("Hello world!"); /* press any key to close */ system("pause") } - В практиката, избягвай използването на system(), която също не е стандартна функция и за изпълнението й се използва ценно (понякога) време. 3. scanf, getchar and etc... - Можеш да създадеш една временна (в случая нищо вършеша) променлива, и чрез функция за четене от input-а, да накараш потребителя да въведе някакви данни (число, буква) преди да продължи с изпълнението на програмата, т.е. затварянето й. И още една алтернатива, да пускаш програмата от CMD: Start > Run > cmd > path-to-file.exe
  15. I wish it would rain down...

  16. krisku

    Избор на подарък

    Приятелю, явно никога не си обичал истински музиката, която създава определена група, повярвай ми, някой ден ще разбереш какво е. Лично аз ужасно много бих се зарадвал на диск на QUEEN, стига вътре да има парчето "Who Wants To Live Forever" ;-)
  17. krisku

    Избор на подарък

    Какво разбираш под качествени? Ако цял ден пробиваш бетон с удърна бормашина нормално и постоянно висиш по стълби, скелета - не се учудвай, ако слушалките спрат да работят седмица след като си ги купил, и то точно на денят на майстора. Горното беше шега, но всичко опира до това как се отнася човека към предмета, ако момчето си ги пази - ще издържат, предполагам. Поздравления за избора на диск, явно момчето знае какво да слуша. ;-)
  18. Кажи по-конкретно за какво става въпрос, каква всъщност е целта на задачата?
  19. krisku

    Скайп на линукс

    Ти и без това имаш навика да пускаш теми в които после НИКОГА не отговаряш, така, че има ли значение???
  20. Приятелю, преди години хората като не са имали компютри и телевизори какво са правили през свободното си време? Работели са - да, но днес, предполагам си от голям град и не знаеш как се държи мотика (а и си малък), но няма ли да ти е по-хубаво да излезеш с приятели (дори сам) да се разходиш из градчето ти, да хапнеш нещо от някоя закусвалня примерно. Защо трябва да се затваряш между тези четири стени?
  21. Останах с впечатлението, че поставяш чувствата на девойката на заден план. На момичето няма ли да й е кофти, че момчето на живота й, преди това е имало бурни нощи със някое друго момиче? В случая, както момичетата трябва да се пазят, така и момчетата. Иначе това, че по-голяма част от нас (днешната младеж) започват да се шибат като луди, за повечето предпазните средства (ех. кондоми) са пълни глупости и понеже са прочели в интернет, че удоволствието да се шибаш (защото те буквално го правят) без кондом е по-голямо, а и понеже са мъже - дай така да правят, като батковците. Е, някой може да извади късмет, но други от една малка грешка си провалят целия живот. Мисля си, че това да имаш дете е нещо уникално, но можеш да пристъпиш към тази крачка тогава и само тогава, когато си стъпил здраво на краката, защото и това дете има нужда от грижи, внимание. Пишлеме на 15 години може да бъде само баща на думи, в най-общия случай. Трябва да си пазим годинките, защото са ни много сладки...
  22. Не, <br/> тагът се използва за нов ред, няма никакви чертички и подобни.
  23. Наистина първо трябва да се обърнеш към доставчика, ще е адски глупаво, ако BitTorrent има по-висок приоритет от HTTP (примерно). А относно новата LAN-карта, кажи модела, да видим като за начало дали си я изровил от мазата или си я взел от магазина и отговаря (до някъде) на съвременните технологии.
  24. Защо тогава питаш тук, а не помолиш леля ти да ти даде нужната информация?
  • Разглеждащи това в момента   0 потребители

    • Няма регистрирани потребители разглеждащи тази страница.
×
×
  • Добави ново...

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите Условия за ползване