• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 03:09
CEST 09:09
KST 16:09
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
Code S Season 1 - RO12 Group A: Rogue, Percival, Solar, Zoun11[ASL21] Ro8 Preview Pt1: Inheritors16[ASL21] Ro16 Preview Pt2: All Star10Team Liquid Map Contest #22 - The Finalists21[ASL21] Ro16 Preview Pt1: Fresh Flow9
Community News
2026 GSL Season 1 Qualifiers25Maestros of the Game 2 announced92026 GSL Tour plans announced15Weekly Cups (April 6-12): herO doubles, "Villains" prevail1MaNa leaves Team Liquid25
StarCraft 2
General
Code S Season 1 - RO12 Group A: Rogue, Percival, Solar, Zoun Team Liquid Map Contest #22 - The Finalists Blizzard Classic Cup @ BlizzCon 2026 - $100k prize pool MaNa leaves Team Liquid Maestros of the Game 2 announced
Tourneys
GSL Code S Season 1 (2026) SC2 INu's Battles#15 <BO.9 2Matches> WardiTV Spring Cup RSL Revival: Season 5 - Qualifiers and Main Event SEL Masters #6 - Solar vs Classic (SC: Evo)
Strategy
Custom Maps
[D]RTS in all its shapes and glory <3 [A] Nemrods 1/4 players [M] (2) Frigid Storage
External Content
The PondCast: SC2 News & Results Mutation # 523 Firewall Mutation # 522 Flip My Base Mutation # 521 Memorable Boss
Brood War
General
Pros React To: Leta vs Tulbo (ASL S21, Ro.8) ASL21 General Discussion [TOOL] Starcraft Chat Translator JaeDong's ASL S21 Ro16 Post-Review Missed out on ASL tickets - what are my options?
Tourneys
Escore Tournament StarCraft Season 2 [ASL21] Ro8 Day 2 [ASL21] Ro8 Day 1 ASL Season 21 LIVESTREAM with English Commentary
Strategy
Fighting Spirit mining rates Simple Questions, Simple Answers What's the deal with APM & what's its true value Any training maps people recommend?
Other Games
General Games
Daigo vs Menard Best of 10 Stormgate/Frost Giant Megathread Nintendo Switch Thread Dawn of War IV Diablo IV
Dota 2
The Story of Wings Gaming
League of Legends
G2 just beat GenG in First stand
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Vanilla Mini Mafia Mafia Game Mode Feedback/Ideas TL Mafia Community Thread Five o'clock TL Mafia
Community
General
US Politics Mega-thread European Politico-economics QA Mega-thread Russo-Ukrainian War Thread 3D technology/software discussion Canadian Politics Mega-thread
Fan Clubs
The IdrA Fan Club
Media & Entertainment
[Manga] One Piece Anime Discussion Thread [Req][Books] Good Fantasy/SciFi books Movie Discussion!
Sports
2024 - 2026 Football Thread Formula 1 Discussion McBoner: A hockey love story
World Cup 2022
Tech Support
streaming software Strange computer issues (software) [G] How to Block Livestream Ads
TL Community
The Automated Ban List
Blogs
Sexual Health Of Gamers
TrAiDoS
lurker extra damage testi…
StaticNine
Broowar part 2
qwaykee
Funny Nicknames
LUCKY_NOOB
Iranian anarchists: organize…
XenOsky
Customize Sidebar...

Website Feedback

Closed Threads



Active: 2521 users

The Big Programming Thread - Page 26

Forum Index > General Forum
Post a Reply
Prev 1 24 25 26 27 28 1032 Next
Thread Rules
1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution.
2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20)
3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible.
4. Use [code] tags to format code blocks.
inkblot
Profile Joined December 2004
United States1250 Posts
December 01 2010 17:51 GMT
#501
On December 01 2010 23:28 pinkranger15 wrote:
hey guys. i'm having a problem right now about the correct algorithm to use in computing exponent. we all know that the basic way to do it is by iteration ( 2^4 = 2 * 2 * 2* 2), but i want to do it recursively so that i will execute faster.

thanks guys!


Your code doesn't seem to be recursive to me. In pseudocode, it should look like this:



expt(base,power):
if power == 1:
return base
if power % 2 == 0:
return expt(base*base,power/2)
else:
return base * expt(base,power - 1)



No for loops are needed.
pinkranger15
Profile Joined June 2010
Philippines1597 Posts
Last Edited: 2010-12-02 04:12:35
December 02 2010 04:09 GMT
#502
On December 02 2010 02:51 inkblot wrote:
Show nested quote +
On December 01 2010 23:28 pinkranger15 wrote:
hey guys. i'm having a problem right now about the correct algorithm to use in computing exponent. we all know that the basic way to do it is by iteration ( 2^4 = 2 * 2 * 2* 2), but i want to do it recursively so that i will execute faster.

thanks guys!


Your code doesn't seem to be recursive to me. In pseudocode, it should look like this:



No for loops are needed.


i made a function based on what you gave me.

+ Show Spoiler +

int expt(int base,int power){
if (power == 0){
return 1;
}
else if (power == 1){
return base;
}
else if (power % 2 == 0){
return expt(base*base, power/2);
}
else{
return base * expt(base, power - 1);
}
return expt;
}

printf("%d", expt);


but it always outputs the same large number even though i tried different exponents and different bases. :\
yoyo!
inkblot
Profile Joined December 2004
United States1250 Posts
December 02 2010 06:43 GMT
#503
Your file should look like this:


#include <stdio.h>

int expt(int base,int power){
if (power == 0){
return 1;
}
else if (power == 1){
return base;
}
else if (power % 2 == 0){
return expt(base*base, power/2);
}
else{
return base * expt(base, power - 1);
}
//return expt;
}

int main()
{
int base = 2;
int power = 8;
printf("%d", expt(base,power));
return 0;
}



I commented out the "return expt" because it wasn't doing anything. Run a clean build and this should work fine, it does for me.
Anther
Profile Joined March 2010
United States87 Posts
Last Edited: 2010-12-02 09:14:33
December 02 2010 09:12 GMT
#504
Or if you're in the mood for making someone's head explode..
It's far too late so I decided to reverse the process.


public int calculate(int base, int power) {
return exp(base, base,power,1);
}

public int exp(int initial, int base, int power, int count){
if(power == 0)
return 1;

if(count == power -1)
return base * initial;
if(count == power)
return base;
else
return exp(initial, base * base,power,count*2);
}
Wassow
Profile Joined November 2010
United Kingdom32 Posts
Last Edited: 2010-12-02 10:25:14
December 02 2010 10:14 GMT
#505
Hey guys, im having a spot of bother with vectors in C++ I'm currently creating a third person shooter as part of my university work in ogre3d.

I'm trying to do collision detection between enemy and projectiles which both have their own vector containers. I'd like to know what I can do to improve my current method and how to deal with fixing the iterators after removing objects from the vector.


Ogre::Vector3 temp1, temp2;

// Collision Detection
// This for loop goes through the list of projectiles in the
// Projectile Manager
std::vector<Projectile *>::iterator itp;
for (itp = projMan->mProj.begin(); itp != projMan->mProj.end(); itp++)
{
temp1 = (*itp)->getPosition();

// This for loop goes through the list of enemies in the
// Enemy Manager
std::vector<Enemy *>::iterator ite;
for (ite = eneMan->mEn.begin(); ite != eneMan->mEn.end(); ite++)
{
temp2 = (*ite)->getPosition();

// Checking distance between projectile and enemy
// (usefull later to test for splash damage)
if( sDistBtwnPts(&temp1, &temp2) <= 50.0f)
{
// for now, remove the projectile and the enemy
eneMan->removeEnemy((*ite));
projMan->removeProjectile((*itp));
}
}
}


And the code for removing objects from my vector is currently:


for(i = mProj.begin(); i < mProj.end(); i++)
{
(*i)->Update(fTime,iTime);
}


I realise that a loop like this however is quite inneficient since its an O(n2) but as of now im just trying to get stuff that works, and it does to an extent, till a collision occurs and it breaks because the iterator is broken from removing the objects from the vector.

I also wonder if using a vector in the first place is the way to go. Normally I wouldnt be remvoing objects as much as im trying to achieve now since I'd like to remove enemy health and implement splash damage later on instead of just removing the object straight away.

Lastly, to create a conversational point instead of simply crying for help. Does anyone use many software engineering fractices regurally? I wonder just because the main focus of my actuall game is to implement the Open closed principle for my whole code and factory methods when creating the different pickup items in the game.
MasterOfChaos
Profile Blog Joined April 2007
Germany2896 Posts
December 02 2010 10:42 GMT
#506
Just write out all collision pairs to a new vector, and once the collision detection phase is owner do a distinct collision handling phase.
Having more phases in a tick also reduces the number of strange timing problems. Timing problems within a tick are one of the more annoying parts of game development.
The cost of additional phases in a tick is that it tends to trash the cpu-cache. But I wouldn't worry about that yet.
LiquipediaOne eye to kill. Two eyes to live.
holdthephone
Profile Blog Joined August 2010
United States523 Posts
Last Edited: 2010-12-06 06:45:49
December 06 2010 06:43 GMT
#507
anyone know how to do a simple user input read and use it as a field for a mysql select? (in C). i have working code but when i try to implement this aspect, whatever i type in doesn't work.

just trying to do this:


char branch;
printf("Type in a branch name:");
branch = getchar ();

etc.......



/* send SQL query */
if (mysql_query(conn, "SELECT * FROM branch")) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}

holdthephone
Profile Blog Joined August 2010
United States523 Posts
Last Edited: 2010-12-06 18:14:11
December 06 2010 18:13 GMT
#508
arlight i figured that out, simple queries work, but whenever i try to use the WHERE clause, i get this error:

Unknown column 'BranchName' in 'where clause'



here is the code in question:




char input[80];
printf ("Enter a branch name: ");
scanf ("%s",input);

char phrase[125];

strcpy(phrase,"SELECT Title FROM Book Branch WHERE BranchName=");
strcat(phrase,input);


/* send SQL query */
if (mysql_query(conn,phrase))
//mysql_query
{
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}

//etc.....



been driving me crazy for a while, in anyone knows what to do i'd appreciate it.
Craton
Profile Blog Joined December 2009
United States17281 Posts
December 06 2010 20:12 GMT
#509
Probably need to enclose the BranchName in single quotes, such that BranchName='abcd'. I'm not familiar with C, but that's often the case with SQL.
twitch.tv/cratonz
TanGeng
Profile Blog Joined January 2009
Sanya12364 Posts
December 06 2010 23:30 GMT
#510
On December 07 2010 05:12 Craton wrote:
Probably need to enclose the BranchName in single quotes, such that BranchName='abcd'. I'm not familiar with C, but that's often the case with SQL.


Yep. You need the single quotes. You also might find it easier to use sprintf() instead.
Moderator我们是个踏实的赞助商模式俱乐部
domovoi
Profile Joined August 2010
United States1478 Posts
December 07 2010 03:19 GMT
#511
Is this for school or for work? If the latter, be careful; your code is vulnerable to a SQL injection attack. Surely whatever library you're using allows parameterized statements?
KaiserJohan
Profile Joined May 2010
Sweden1808 Posts
December 08 2010 17:59 GMT
#512
Hi,

I have an annoying problem with UDP sockets. (C#)

I have a client-server voice chat application.

Using TCP, the server only needs to open the TCp listening port, then when clients connect using a tcp socket they are assigned a private tcp socket on the server. Niether the client nor the server needs to open ports other than the main listening port server-side to send/receive data.

However, how on earth is this accomplished with UDP? I guess the reason TCP works is because you actually establish a connection, which is then deemed "secure". I really don't want the server to have open 1 port per client, and the client shouldn't have to open any ports either (like they don't in any application you find... skype, ventrilo, msn, call of duty, starcraft, etc, all running UDP and clients dont need to open those ports to use them)
England will fight to the last American
Greggle
Profile Joined June 2010
United States1131 Posts
Last Edited: 2010-12-09 05:01:12
December 09 2010 04:01 GMT
#513
Edit: Solved the problem on my own, feel free to delete this post or ban me.
Life is too short to take it seriously.
Fyodor
Profile Blog Joined September 2010
Canada971 Posts
December 09 2010 09:28 GMT
#514
I have this problem (Java), I stored some objects in an array and I need to check some private variables inside of these objects but I'm not sure how to access them.

I tried something like this (Used an accessor method)


int thePrice = Transaction[0].getPrice();


to get the price off of the first element of the array but it didn't seem to work. It was a shot in the dark but maybe you get an idea of what I'm trying to do.
llllllllllllllllllllllllllllllllllllllllllll
MasterOfChaos
Profile Blog Joined April 2007
Germany2896 Posts
Last Edited: 2010-12-09 09:50:58
December 09 2010 09:49 GMT
#515
@KaiserJohan
The server needs to open one known port.
The client is a bit more complicated. When the client sends a packet to the server, the router typically opens a port which allows the client to receive UDP packets from that server.

But are you sure you really want to work directly on UDP instead of using some high level library built on top of UDP?

@Fyodor
How about supplying a bit more information? For example how your array is declared...
And what does "not work" mean? Runtime or compile-time error?
LiquipediaOne eye to kill. Two eyes to live.
gravity
Profile Joined March 2004
Australia2116 Posts
December 09 2010 09:52 GMT
#516
On December 09 2010 18:28 Fyodor wrote:
I have this problem (Java), I stored some objects in an array and I need to check some private variables inside of these objects but I'm not sure how to access them.

I tried something like this (Used an accessor method)


int thePrice = Transaction[0].getPrice();


to get the price off of the first element of the array but it didn't seem to work. It was a shot in the dark but maybe you get an idea of what I'm trying to do.

Is the array actually called "Transaction"?
Fyodor
Profile Blog Joined September 2010
Canada971 Posts
Last Edited: 2010-12-09 10:16:35
December 09 2010 10:07 GMT
#517
wow, the name is not Transaction, I got that confused, thanks.

edit, wait, that's not even my actual code, nevermind.
Here's an actual problem:

+ Show Spoiler +

public class MyEBServer {

public static Transaction[] registeredSales;
public static int numRegisteredSales = 0;
public static Transaction[] registeredBids;
public static int numRegisteredBids = 0;
public static Transaction[] purchases;
public static int numPurchases = 0;

public static void initialize(int size)
{
registeredSales = new Transaction[size];
registeredBids = new Transaction[size];
purchases = new Transaction[size];
}

public static void addItemToSell(User seller, Item item, double askingPrice)
{

if(numRegisteredSales <= size - 1)
{
registeredSales[numRegisteredSales] = Transaction(seller, item, askingPrice, Transaction.SELL);

numRegisteredSales++;
}
else
{
System.out.println("The catalogue of registered items to sell is full.");
}
}



I get a compiler error "cannot find symbol" when I call Transaction, supposed to be a constructor method. I said I don't know how to check an object array but I don't know how to populate it either I guess.

this is what the Transaction method looks like:

+ Show Spoiler +


public class Transaction {

public static int SELL = 0;
public static int BID = 1;
public static int FINAL_SALE = 2;
private static int nextConfirmation = 100;
private int confirmationNumber;
private int type;
private boolean active = true;
private double price;
private Item item;
private User user;

public Transaction(User user, Item item, double price, int type)
{
this.user = user;
this.item = item;
this.price = price;
this.type = type;
this.confirmationNumber = nextConfirmation;

Transaction.nextConfirmation++;

}
llllllllllllllllllllllllllllllllllllllllllll
gravity
Profile Joined March 2004
Australia2116 Posts
Last Edited: 2010-12-09 12:40:15
December 09 2010 12:39 GMT
#518
On December 09 2010 19:07 Fyodor wrote:
wow, the name is not Transaction, I got that confused, thanks.

edit, wait, that's not even my actual code, nevermind.
Here's an actual problem:

+ Show Spoiler +

public class MyEBServer {

public static Transaction[] registeredSales;
public static int numRegisteredSales = 0;
public static Transaction[] registeredBids;
public static int numRegisteredBids = 0;
public static Transaction[] purchases;
public static int numPurchases = 0;

public static void initialize(int size)
{
registeredSales = new Transaction[size];
registeredBids = new Transaction[size];
purchases = new Transaction[size];
}

public static void addItemToSell(User seller, Item item, double askingPrice)
{

if(numRegisteredSales <= size - 1)
{
registeredSales[numRegisteredSales] = Transaction(seller, item, askingPrice, Transaction.SELL);

numRegisteredSales++;
}
else
{
System.out.println("The catalogue of registered items to sell is full.");
}
}



I get a compiler error "cannot find symbol" when I call Transaction, supposed to be a constructor method. I said I don't know how to check an object array but I don't know how to populate it either I guess.

this is what the Transaction method looks like:

+ Show Spoiler +


public class Transaction {

public static int SELL = 0;
public static int BID = 1;
public static int FINAL_SALE = 2;
private static int nextConfirmation = 100;
private int confirmationNumber;
private int type;
private boolean active = true;
private double price;
private Item item;
private User user;

public Transaction(User user, Item item, double price, int type)
{
this.user = user;
this.item = item;
this.price = price;
this.type = type;
this.confirmationNumber = nextConfirmation;

Transaction.nextConfirmation++;

}


Make sure you are importing the Transaction class in the class where you are using it, and do "new Transaction(...)" instead of just "Transaction(...)".

Also, this code has a few issues at first glance:
1. You should use an enum for flags, not static ints.
2. Don't make everything static unless you have a good reason.
3. You should probably use Lists of Transactions instead of fixed-size arrays.
4. Even if you do use arrays, you don't need to count the size separately. Use eg registeredSales.length instead.
KaiserJohan
Profile Joined May 2010
Sweden1808 Posts
Last Edited: 2010-12-09 16:00:50
December 09 2010 13:02 GMT
#519
On December 09 2010 18:49 MasterOfChaos wrote:
@KaiserJohan
The server needs to open one known port.
The client is a bit more complicated. When the client sends a packet to the server, the router typically opens a port which allows the client to receive UDP packets from that server.

But are you sure you really want to work directly on UDP instead of using some high level library built on top of UDP?

@Fyodor
How about supplying a bit more information? For example how your array is declared...
And what does "not work" mean? Runtime or compile-time error?



I have the voice data sent over a UDP socket, I'm not sure I could get that latency with TCP.

Unless I specifically open that port sockets listen to packets just dont get received (either direction) even though listening on the right port/local ip. Really annoying.


I've heard briefly about UDP implementations like RTP(or did you mean a library class like UdpClient?) but thats abit more complex I guess (and I havn't found a good, free source) and I just want to get something working and then build from thereon, but this port problems makes me angry!
England will fight to the last American
dapierow
Profile Blog Joined April 2010
Serbia1316 Posts
December 09 2010 15:32 GMT
#520
Can anyone give me some help on creating a Connect four game in java?
Eat.Sleep.Starcraft 2
Prev 1 24 25 26 27 28 1032 Next
Please log in or register to reply.
Live Events Refresh
Next event in 1h 51m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
ProTech138
Nina 129
Livibee 87
StarCraft: Brood War
Mind 1123
Killer 520
Hm[arnc] 442
Pusan 408
yabsab 40
Stork 38
Bale 30
ZergMaN 15
ajuk12(nOOB) 11
NotJumperer 10
[ Show more ]
Nal_rA 8
Icarus 7
Dota 2
monkeys_forever703
NeuroSwarm158
League of Legends
JimRising 711
Counter-Strike
Stewie2K1495
Other Games
summit1g5721
WinterStarcraft576
C9.Mang0514
Sick233
Happy48
Organizations
Other Games
gamesdonequick442
BasetradeTV202
Dota 2
PGL Dota 2 - Main Stream133
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 13 non-featured ]
StarCraft 2
• Adnapsc2 7
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Lourlo849
• Stunt465
Upcoming Events
Replay Cast
1h 51m
Escore
2h 51m
INu's Battles
3h 51m
Classic vs ByuN
SHIN vs ByuN
OSC
5h 51m
Big Brain Bouts
8h 51m
Replay Cast
16h 51m
Replay Cast
1d 1h
RSL Revival
1d 2h
Classic vs GgMaChine
Rogue vs Maru
WardiTV Invitational
1d 3h
IPSL
1d 8h
Ret vs Art_Of_Turtle
Radley vs TBD
[ Show More ]
BSL
1d 11h
Replay Cast
1d 16h
RSL Revival
2 days
herO vs TriGGeR
NightMare vs Solar
uThermal 2v2 Circuit
2 days
BSL
2 days
IPSL
2 days
eOnzErG vs TBD
G5 vs Nesh
Patches Events
2 days
Replay Cast
3 days
Wardi Open
3 days
Afreeca Starleague
3 days
Jaedong vs Light
Monday Night Weeklies
3 days
Replay Cast
3 days
Sparkling Tuna Cup
4 days
Afreeca Starleague
4 days
Snow vs Flash
WardiTV Invitational
4 days
GSL
5 days
Classic vs Cure
Maru vs Rogue
GSL
6 days
SHIN vs Zoun
ByuN vs herO
Replay Cast
6 days
Liquipedia Results

Completed

Proleague 2026-04-29
WardiTV TLMC #16
Nations Cup 2026

Ongoing

BSL Season 22
ASL Season 21
CSL 2026 SPRING (S20)
IPSL Spring 2026
KCM Race Survival 2026 Season 2
Escore Tournament S2: W5
KK 2v2 League Season 1
StarCraft2 Community Team League 2026 Spring
2026 GSL S1
BLAST Rivals Spring 2026
IEM Rio 2026
PGL Bucharest 2026
Stake Ranked Episode 1
BLAST Open Spring 2026
ESL Pro League S23 Finals
ESL Pro League S23 Stage 1&2
PGL Cluj-Napoca 2026

Upcoming

Acropolis #4
BSL 22 Non-Korean Championship
CSLAN 4
Kung Fu Cup 2026 Grand Finals
HSC XXIX
uThermal 2v2 2026 Main Event
Maestros of the Game 2
2026 GSL S2
RSL Revival: Season 5
XSE Pro League 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.