Solved

a case statement with an array of shortint

Posted on 2003-10-25
8
236 Views
Last Modified: 2010-04-16
Hi,
i have an array of 4 shortint
2, 5, 7, 9

and i have to check combination of those 4 shortint of should i proceed with an case statement
i would like to do something like this

Case Digits Of
2, 4, 6, 7: WriteLN ...;
5, 9, 7, 8: ... ;
9, 4, 1, 5; ... ;
end;

how should i do ???
thanks in advance
0
Comment
Question by:Elvis1
  • 4
  • 3
8 Comments
 
LVL 100

Expert Comment

by:mlmcc
Comment Utility
I don't understand your problem?

Are you trying to do something for each set of 4 digits?

mlmcc
0
 

Author Comment

by:Elvis1
Comment Utility
yes something like that
i just want to comment the digits following their combination
it's to make a blackjack game;
first the player try to guess the 4 digits
then the computer generates 4 random numbers between 0 and 10
and the program should compare the to arrays of 4 numbers
that's why the combination is important

i need a way to compare the 2 sets of arrays
i tought to use a case statement but i don't know how to place condition with a whole array

could you help me ?
if you have some more question just tell me i'm paying pretty much time on this question

thanks in advance bye
elvis
0
 
LVL 2

Assisted Solution

by:MrT-RSI
MrT-RSI earned 20 total points
Comment Utility
What you could do is 'compose' a unique number of the 4 digits and test the case statement for this number. Example:

var
  A,B,C,D : shortint;
  N : longint;

N := A shl 24 or B shl 16 or C shl 8 or D;
case N of
  ...

It's easiest to show this with hex numbers, so for your example this becomes:

Case N Of
  $02040607: WriteLN ...;
  $05090708: ... ;
  $09040105; ... ;
end;

- Rob.
0
 

Author Comment

by:Elvis1
Comment Utility
intresting remark
but i don't know that much of pascal
but what if for example
i transform my digit-array in Char-array en then just put them together wouldn't it be as succesfull as your method but more simple ???
i don't know something like

FOR i:=1 TO 4 DO
 begin
  Temp:=Random(10);
  Digits[i]:=temp;
 end;

FOR j:=1 TO 4 DO
Number:=Digits[j]+Number;

Case Number OF
 4586: ...

????

thanks in advance
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 

Author Comment

by:Elvis1
Comment Utility
FORGET ABOUT WHAT I SAID !
i found lots and lots of mistake in it
i found something else

a snip of declaration would be

Var
i, Temp1, temp2:ShortInt;
digit:Array[1..4] Of Char;

a snip of my code to generate my 4 digits between 0 and 10 and to put them into Characters

FOR i:=1 TO 4 DO
 Begin
 Temp1:=Random(10);       {let take for Temp1 = 5}
 Temp2:=Ord(Temp1);       {temp2 should be 53 according to the ASCII table}
  Digit[i]:=Chr(Temp2);       {Digit[i] should be 5 again but a Character }
 End;
 
and now to get a little String

Function Combination:String;
Var j:ShortInt;
Begin
 Combination:=0;
 FOR j:=1 TO 4 DO
  Combination:=Combination+Digit[i];
End;
 

and then i can handle with my combination ???
isn't that something who could be possible ???
i know it's not the way you would solve it but i'm only 15 years old and i just starting with programming

thanks in advance
Elvis
0
 
LVL 100

Accepted Solution

by:
mlmcc earned 30 total points
Comment Utility
Depending on the Pascal you are using there may be a VAL procedure to convert the string to number.
Var
    Num1 : Integer;
    Error : Integer;

Val(Combination,Num1,Error);

Num1 will have the value of the string
Error will indicate the position of a bad digit.  0 indicates it was a numeric string.

  Case Num1 of
     1234:
     2468:

etc

mlmcc
0
 

Author Comment

by:Elvis1
Comment Utility
thanks to both of you bye
Elvis
0
 
LVL 100

Expert Comment

by:mlmcc
Comment Utility
Glad I could help

mlmcc
0

Featured Post

Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

Join & Write a Comment

In this article, I will show you HOW TO: Create your first Windows Virtual Machine on a VMware vSphere Hypervisor 6.5 (ESXi 6.5) Host Server, the Windows OS we will install is Windows Server 2016.
A safe way to clean winsxs folder from your windows server 2008 R2 editions
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…
This tutorial demonstrates a quick way of adding group price to multiple Magento products.

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now