473,383 Members | 1,862 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,383 software developers and data experts.

chessboard

I'm new to java and any help will be appreciated. Problem is i dont know even where to start.

I need to write a program that reads a chessboard configuration and identifies whether a king is under attack (in check). A king is in check if it is on square which can be taken by the opponent on his next move.

White pieces will be represented by uppercase letters, and black pieces by lowercase letters. The white side will always be on the bottom of the board, with the black side always on the top.


Pawn (p or P):

can only move straight ahead, one square at a time. However, it takes pieces diagonally, and that is what concerns you in this problem.

Knight (n or N)

: has an L-shaped movement shown below. It is the only piece that can jump over other pieces.

Bishop (b or B)

: can move any number of squares diagonally, either forward or backward.

Rook (r or R)

: can move any number of squares vertically or horizontally, either forward or backward.

Queen (q or Q)

: can move any number of squares in any direction (diagonally, horizontally, or vertically) either forward or backward.

King (k or K)

: can move one square at a time in any direction (diagonally, horizontally, or vertically) either forward or backward.


the knight is the only piece that can jump over other pieces. The pawn movement will depend on its side. If it is a black pawn, it can only move one square diagonally down the board. If it is a white pawn, it can only move one square diagonally up the board. The example above is a black pawn, described by a lowercase ``p''. We use ``move" to indicate the squares where the pawn can capture another piece.
Input

There will be an arbitrary number of board configurations in the input, each consisting of eight lines of eight characters each. A ``.'' denotes an empty square, while upper- and lowercase letters represent the pieces as defined above. There will be no invalid characters and no configurations where both kings are in check. You must read until you find an empty board consisting only of ``.'' characters, which should not be processed. There will be an empty line between each pair of board configurations. All boards, except for the empty one, will contain exactly one white king and one black king.
Output

For each board configuration read you must output one of the following answers:

Game #d: white king is in check.

Game #d: black king is in check.

Game #d: no king is in check.

where d stands for the game number starting from 1.

Sample Input
..k.....
ppp.pppp
........
.R...B..
........
........
PPPPPPPP
K.......

rnbqk.nr
ppp..ppp
....p...
...p....
.bPP....
.....N..
PP..PPPP
RNBQKB.R

........
........
........
........
........
........
........
........
Sample Output
Game #1: black king is in check.
Game #2: white king is in check.
Sep 26 '06 #1
6 5020
r035198x
13,262 8TB
I'm new to java and any help will be appreciated. Problem is i dont know even where to start.

I need to write a program that reads a chessboard configuration and identifies whether a king is under attack (in check). A king is in check if it is on square which can be taken by the opponent on his next move.

White pieces will be represented by uppercase letters, and black pieces by lowercase letters. The white side will always be on the bottom of the board, with the black side always on the top.


Pawn (p or P):

can only move straight ahead, one square at a time. However, it takes pieces diagonally, and that is what concerns you in this problem.

Knight (n or N)

: has an L-shaped movement shown below. It is the only piece that can jump over other pieces.

Bishop (b or B)

: can move any number of squares diagonally, either forward or backward.

Rook (r or R)

: can move any number of squares vertically or horizontally, either forward or backward.

Queen (q or Q)

: can move any number of squares in any direction (diagonally, horizontally, or vertically) either forward or backward.

King (k or K)

: can move one square at a time in any direction (diagonally, horizontally, or vertically) either forward or backward.


the knight is the only piece that can jump over other pieces. The pawn movement will depend on its side. If it is a black pawn, it can only move one square diagonally down the board. If it is a white pawn, it can only move one square diagonally up the board. The example above is a black pawn, described by a lowercase ``p''. We use ``move" to indicate the squares where the pawn can capture another piece.
Input

There will be an arbitrary number of board configurations in the input, each consisting of eight lines of eight characters each. A ``.'' denotes an empty square, while upper- and lowercase letters represent the pieces as defined above. There will be no invalid characters and no configurations where both kings are in check. You must read until you find an empty board consisting only of ``.'' characters, which should not be processed. There will be an empty line between each pair of board configurations. All boards, except for the empty one, will contain exactly one white king and one black king.
Output

For each board configuration read you must output one of the following answers:

Game #d: white king is in check.

Game #d: black king is in check.

Game #d: no king is in check.

where d stands for the game number starting from 1.

Sample Input
..k.....
ppp.pppp
........
.R...B..
........
........
PPPPPPPP
K.......

rnbqk.nr
ppp..ppp
....p...
...p....
.bPP....
.....N..
PP..PPPP
RNBQKB.R

........
........
........
........
........
........
........
........
Sample Output
Game #1: black king is in check.
Game #2: white king is in check.
First please confirm that the sample output you've given above does not follow from the given sample input(i.e for both games given, no king is in check). I just want to make sure I've understood your rules correctly.

Then you'd need to address the following
Input-Are you reading from a file or is a user going to be typing in the board configurations
Board Representation-are you going to manipulate the board as a file, 2D array, or a Board(data structure to be designed).
Error Handling-Did you mean from above that the program assumes correct input or that it is supposed to identify and reject incorrect input.

Implementation-Will depend on the Board representation chosen. An initial brute force approach would be to go over each character on the board testing to see if it is attacking the opposite side's King.

It is not as difficult as it might appear but I think making the right design decisions simplifies the program a lot
Sep 27 '06 #2
D_C
293 100+
Expand|Select|Wrap|Line Numbers
  1. while(!quit)
  2. {
  3.    game_number++;
  4.    Store the data in 8x8 2D array of characters
  5.    if (the board is blank)
  6.       quit = true;
  7.    else
  8.    {
  9.       find and store the white king's position
  10.       find and store the black kings position
  11.       while(0 <= row < 8  && !white_check && !black_check)
  12.         while(0 <= col < 8  && !white_check && !black_check)
  13.          {
  14.             if character is uppercase
  15.                black_enemy = true; // or white_enemy if white means uppercase
  16.             switch(char_array[row][col].toLowercase())
  17.             {
  18.                 case 'n' : if(black) // black knight white king
  19.                                 white_check = KnightCheck(current row/col, white king's position));
  20.                               else
  21.                                 black_check = KnightCheck(current row/col, black king's position);
  22.                               break;
  23.                ...
Do that for each type of character. Since the Knight doesn't have to worry about obstacles, it's the easiest one to calculate.
Expand|Select|Wrap|Line Numbers
  1. KnightCheck(knight_x, knight_y, king_x, king_y)
  2. {
  3.   return (abs(knight_x-king_x)+abs(knight_y-king_y))==3;
  4. }
Other than avoiding obstacles, each piece is simple. Either it's limited by distance, or alignment. For example, rook must have the same x or y value as the king. For bishops, (bishop_x - bishop_y) should equal (king_x - king_y). Since two kings cannot be in check, KingCheck(black_king, white_king) should be unnecessary.

To avoid obstacles, you need to do a loop from king to attacker. If you don't see a space, there is an object in the way. For bishops, you only need one loop since x increases/decrease as much as y since it's on the diagonal.

The only other thing to remember is that pawns cannot travel backwards. It's also the only reason you need to know which side of the board belongs to who.
Sep 27 '06 #3
Hello,
the problem is i keep getting ArrayIndexOutOfBoundsException and i dont know how to fix it. Any suggestions how to improve would be nice
Expand|Select|Wrap|Line Numbers
  1.  
  2. import java.io.*;
  3. import java.io.BufferedReader;
  4. import java.io.InputStreamReader;
  5. import java.io.IOException;
  6.  
  7. public class pirmaUzd {
  8.     public static String[][] board;
  9.     public static String[] str;
  10.     private static String exitCode = "0 0";
  11.  
  12.     public static boolean RookCheck(int row,int col,String piece)
  13.     {
  14.         int i;
  15.         for (i=row+1;i<8;i++)
  16.         { 
  17.             if (board[i][col]!=".")
  18.         {
  19.             if(board[i][col]==piece) return true;
  20.             else break;
  21.         }        
  22.         }
  23.         for (i=row-1;i>=0;i--)
  24.         {
  25.             if (board[i][col]!=".")
  26.             {
  27.                 if (board[i][col]==piece) return true;
  28.                 else break;
  29.             }
  30.         }
  31.         for (i=col+1;i<8;i++)
  32.         {
  33.             if (board[row][i]!=".")
  34.             {
  35.                 if (board[row][i]==piece) return true;
  36.                 else break;
  37.             }
  38.         }
  39.         for (i=col-1;i>=0;i--)
  40.         {
  41.             if (board[row][i]!=".")
  42.             {
  43.                 if (board[row][i]==piece) return true;
  44.                 else break;
  45.             }
  46.         }
  47.         return false;
  48.     }
  49.  
  50.  
  51.  
  52.     public static boolean BishopCheck(int row,int col,String piece)
  53.     {
  54.         int i,j;
  55.  
  56.         for (i=row+1,j=col+1;i<8 && j<8; i++, j++)
  57.         {
  58.             if (board[i][j]!=".")
  59.             {
  60.                 if (board[i][j]==piece) return true;
  61.                 else break;
  62.             }
  63.         }
  64.         for (i=row+1,j=col-1;i<8 && j>0; i++, j--)
  65.         {
  66.             if (board[i][j]!=".")
  67.             {
  68.                 if (board[i][j]==piece) return true;
  69.                 else break;
  70.             }
  71.         }
  72.         for (i=row-1,j=col+1;i>=0 && j<8;i--,j++)
  73.         {
  74.             if (board[i][j]!=".")
  75.             {
  76.                 if (board[i][j]==piece) return true;
  77.                 else break;
  78.             }
  79.         }
  80.         for (i=row-1,j=col-1;i>=0 && j>=0; i--, j--)
  81.         {
  82.             if (board[i][j]!=".")
  83.             {
  84.                 if (board[i][j]==piece) return true;
  85.                 else break;
  86.             }
  87.         }
  88.             return false;
  89.  
  90.     }
  91.  
  92.      public static boolean KnightCheck(int row, int col, String piece)
  93.      {
  94.          if(board[row+1][col+2]==piece || board[row+1][col-2]==piece ||
  95.             board[row-1][col+2]==piece || board[row-1][col-2]==piece ||
  96.             board[row+2][col+1]==piece || board[row+2][col-1]==piece ||
  97.             board[row-2][col+1]==piece || board[row-2][col-1]==piece) return true;
  98.  
  99.          return false;
  100.      }
  101.  
  102.  
  103.  
  104.    public static void main(String[] args) throws IOException {
  105.  
  106.         FileInputStream fstream = new FileInputStream( "C:/duom.txt" );
  107.         DataInputStream ds = new DataInputStream( fstream );
  108.         int i, j, brow, bcol, wrow, wcol, wcheck, bcheck, p;
  109.         long q=0;
  110.  
  111.         brow=0; bcol=0; wrow=0; wcol=0; wcheck=0; bcheck=0; p=0;
  112.         String[] str = new String[9];
  113.         String[][] board = new String[9][9];
  114.  
  115.  
  116.          while ( ds.available() != 0){
  117.           //String str =  in.readLine();
  118.             for (i=0; i<8; i++)
  119.  
  120.             {
  121.  
  122.                 str[i] = ds.readLine();
  123.                 for (j=0; j<8; j++){
  124.                     board[i][j] = String.valueOf(str[i].charAt( j ));
  125.  
  126.                     if(board[i][j].equals("k")) {brow=i; bcol=j;}
  127.                     if(board[i][j]=="K") {wrow=i; wcol=j;}
  128.                     System.out.println(brow+ " " +bcol);
  129.                 }
  130.  
  131.             }     
  132.         }
  133.  
  134.  
  135.         for (i=0; i<8; i++)
  136.         {
  137.             for (j=0; j<8; j++)
  138.             {
  139.                 if(board[i][j]=="k") {brow=i; bcol=j;}
  140.                 if(board[i][j]=="K") {wrow=i; wcol=j;}
  141.             }
  142.         }
  143.  
  144.         if (board[wrow-1][wcol+1]=="p" || board[wrow-1][wcol-1]=="p") wcheck=1;
  145.         else if (KnightCheck(wrow, wcol, "n")) wcheck=1;
  146.         else if (RookCheck(wrow, wcol, "r")) wcheck=1;
  147.         else if (BishopCheck(wrow, wcol, "b")) wcheck=1;
  148.         else if (RookCheck(wrow, wcol, "q")) wcheck=1;
  149.         else if (BishopCheck(wrow, wcol, "q")) wcheck=1;
  150.  
  151.  
  152.         if (board[brow+1][bcol-1]=="P" || board[brow+1][bcol+1]=="P") bcheck=1;
  153.         else if (KnightCheck(brow,bcol,"N")) bcheck=1;
  154.         else if (RookCheck(brow,bcol,"R")) bcheck=1;
  155.         else if (BishopCheck(brow,bcol,"B")) bcheck=1;
  156.         else if (RookCheck(brow,bcol,"Q")) bcheck=1;
  157.         else if (BishopCheck(brow,bcol,"Q")) bcheck=1;
  158.  
  159.         if(wcheck==1) System.out.println("Game #" + ++q + ":white king is in check");
  160.         else if (bcheck==1) System.out.println("Game #" + ++q +":black king is in check");
  161.         else if (wcheck==0 && bcheck==0) System.out.println("Game #" + ++q + ":no king is in check");
  162.  
  163.  
  164.         }
  165. }
  166.  
Oct 8 '06 #4
r035198x
13,262 8TB
Hello,
the problem is i keep getting ArrayIndexOutOfBoundsException and i dont know how to fix it. Any suggestions how to improve would be nice
Expand|Select|Wrap|Line Numbers
  1.  
  2. import java.io.*;
  3. import java.io.BufferedReader;
  4. import java.io.InputStreamReader;
  5. import java.io.IOException;
  6.  
  7. public class pirmaUzd {
  8.     public static String[][] board;
  9.     public static String[] str;
  10.     private static String exitCode = "0 0";
  11.  
  12.     public static boolean RookCheck(int row,int col,String piece)
  13.     {
  14.         int i;
  15.         for (i=row+1;i<8;i++)
  16.         { 
  17.             if (board[i][col]!=".")
  18.         {
  19.             if(board[i][col]==piece) return true;
  20.             else break;
  21.         }        
  22.         }
  23.         for (i=row-1;i>=0;i--)
  24.         {
  25.             if (board[i][col]!=".")
  26.             {
  27.                 if (board[i][col]==piece) return true;
  28.                 else break;
  29.             }
  30.         }
  31.         for (i=col+1;i<8;i++)
  32.         {
  33.             if (board[row][i]!=".")
  34.             {
  35.                 if (board[row][i]==piece) return true;
  36.                 else break;
  37.             }
  38.         }
  39.         for (i=col-1;i>=0;i--)
  40.         {
  41.             if (board[row][i]!=".")
  42.             {
  43.                 if (board[row][i]==piece) return true;
  44.                 else break;
  45.             }
  46.         }
  47.         return false;
  48.     }
  49.  
  50.  
  51.  
  52.     public static boolean BishopCheck(int row,int col,String piece)
  53.     {
  54.         int i,j;
  55.  
  56.         for (i=row+1,j=col+1;i<8 && j<8; i++, j++)
  57.         {
  58.             if (board[i][j]!=".")
  59.             {
  60.                 if (board[i][j]==piece) return true;
  61.                 else break;
  62.             }
  63.         }
  64.         for (i=row+1,j=col-1;i<8 && j>0; i++, j--)
  65.         {
  66.             if (board[i][j]!=".")
  67.             {
  68.                 if (board[i][j]==piece) return true;
  69.                 else break;
  70.             }
  71.         }
  72.         for (i=row-1,j=col+1;i>=0 && j<8;i--,j++)
  73.         {
  74.             if (board[i][j]!=".")
  75.             {
  76.                 if (board[i][j]==piece) return true;
  77.                 else break;
  78.             }
  79.         }
  80.         for (i=row-1,j=col-1;i>=0 && j>=0; i--, j--)
  81.         {
  82.             if (board[i][j]!=".")
  83.             {
  84.                 if (board[i][j]==piece) return true;
  85.                 else break;
  86.             }
  87.         }
  88.             return false;
  89.  
  90.     }
  91.  
  92.      public static boolean KnightCheck(int row, int col, String piece)
  93.      {
  94.          if(board[row+1][col+2]==piece || board[row+1][col-2]==piece ||
  95.             board[row-1][col+2]==piece || board[row-1][col-2]==piece ||
  96.             board[row+2][col+1]==piece || board[row+2][col-1]==piece ||
  97.             board[row-2][col+1]==piece || board[row-2][col-1]==piece) return true;
  98.  
  99.          return false;
  100.      }
  101.  
  102.  
  103.  
  104.    public static void main(String[] args) throws IOException {
  105.  
  106.         FileInputStream fstream = new FileInputStream( "C:/duom.txt" );
  107.         DataInputStream ds = new DataInputStream( fstream );
  108.         int i, j, brow, bcol, wrow, wcol, wcheck, bcheck, p;
  109.         long q=0;
  110.  
  111.         brow=0; bcol=0; wrow=0; wcol=0; wcheck=0; bcheck=0; p=0;
  112.         String[] str = new String[9];
  113.         String[][] board = new String[9][9];
  114.  
  115.  
  116.          while ( ds.available() != 0){
  117.           //String str =  in.readLine();
  118.             for (i=0; i<8; i++)
  119.  
  120.             {
  121.  
  122.                 str[i] = ds.readLine();
  123.                 for (j=0; j<8; j++){
  124.                     board[i][j] = String.valueOf(str[i].charAt( j ));
  125.  
  126.                     if(board[i][j].equals("k")) {brow=i; bcol=j;}
  127.                     if(board[i][j]=="K") {wrow=i; wcol=j;}
  128.                     System.out.println(brow+ " " +bcol);
  129.                 }
  130.  
  131.             }     
  132.         }
  133.  
  134.  
  135.         for (i=0; i<8; i++)
  136.         {
  137.             for (j=0; j<8; j++)
  138.             {
  139.                 if(board[i][j]=="k") {brow=i; bcol=j;}
  140.                 if(board[i][j]=="K") {wrow=i; wcol=j;}
  141.             }
  142.         }
  143.  
  144.         if (board[wrow-1][wcol+1]=="p" || board[wrow-1][wcol-1]=="p") wcheck=1;
  145.         else if (KnightCheck(wrow, wcol, "n")) wcheck=1;
  146.         else if (RookCheck(wrow, wcol, "r")) wcheck=1;
  147.         else if (BishopCheck(wrow, wcol, "b")) wcheck=1;
  148.         else if (RookCheck(wrow, wcol, "q")) wcheck=1;
  149.         else if (BishopCheck(wrow, wcol, "q")) wcheck=1;
  150.  
  151.  
  152.         if (board[brow+1][bcol-1]=="P" || board[brow+1][bcol+1]=="P") bcheck=1;
  153.         else if (KnightCheck(brow,bcol,"N")) bcheck=1;
  154.         else if (RookCheck(brow,bcol,"R")) bcheck=1;
  155.         else if (BishopCheck(brow,bcol,"B")) bcheck=1;
  156.         else if (RookCheck(brow,bcol,"Q")) bcheck=1;
  157.         else if (BishopCheck(brow,bcol,"Q")) bcheck=1;
  158.  
  159.         if(wcheck==1) System.out.println("Game #" + ++q + ":white king is in check");
  160.         else if (bcheck==1) System.out.println("Game #" + ++q +":black king is in check");
  161.         else if (wcheck==0 && bcheck==0) System.out.println("Game #" + ++q + ":no king is in check");
  162.  
  163.  
  164.         }
  165. }
  166.  
Sorry I don't really have the time to look at the right now but if it's an ArrayIndexOutOfBoundsException you should be able to get the line number from the stack trace. If you give the line number then it will be easy to pick the error
Oct 9 '06 #5
r035198x
13,262 8TB
Now that I've looked at the code a bit, I'd say it does not look good.
I really think you should write the Board class separately.
All those if-elses can get terrible to maintain. Since you have decided to use a String[] instead of a char[], you need to compare using equals and !equals rather than == and !=.
About the null pointer, like I said, what line number is occurring at?
Oct 9 '06 #6
D_C
293 100+
I'm not sure what I was thinking when I told you, but I have a better idea.

When you find a king, then search for the other player's relative to the king.

For example, suppose the white king is at row 1, col 5. I wasn't paying attention to whether white starts at rows 0 and 1, or whether black does. Assume white does, and if I'm wrong just switch things.

I would use a while loop for the rook/queen and bishop/queen. If statements for pawn and knight. Also, suppose the king is in a corner. You need to check if the array indices are valid. Suppose you are checking if the king can be hit by a knight. If the king is in a corner, only two of the eight possibilities are valid. That may where the ArrayIndexOutOfBounds Exception is coming from.

Check for black pawn. Check row 2, cols 4 and 6. You need to check that king_y < 7 and 0 < king_x < 7. If so, then test for a black pawn. Otherwise an ArrayIndexOutOfBounds Exception will occur.
Check for black rook/queen. Check left, right, up and down until you hit a wall or another piece. If it's a wall, he's safe, if it's his own man, he's safe. If it's a black rook, or black queen, it's checkmate.
Check for black bishop/queen. Check up+left, up+right, down+right, down+left. Again, if you hit a wall, or your own player, the king is safe. If you hit a black bishop, or black queen, it's checkmate.
Check for black knight. See pseudocode below.
Expand|Select|Wrap|Line Numbers
  1. if(king_x > 1) // test for knight to the left (left two, up/down 1)
  2. { // can go left two
  3.   if(king_y != 0) // can go up one
  4.     if(game[king_y - 1][king_x - 2] == /* knight */)
  5.       return /* checkmate */
  6.   if(king_y != 7) // can go down one
  7.     if(game[king_y + 1][king_x - 2] == /* knight */)
  8.       return /* checkmate */
  9. }
  10. if king_x < 6
  11. // test for knight to the right (right two, up/down 1)
  12. // same as above, just modify the constants.
  13. if king_y > 1
  14. // test for knight below (down two, left/right 1)
  15. if king_y < 6
  16. // test for knight above (up two, left/right 1)
Oct 9 '06 #7

Sign in to post your reply or Sign up for a free account.

Similar topics

1
by: Michel | last post by:
I have an html page which, thanks to some javascript, allows to move pieces on a chessboard. I can't find how to reflect the moves in a list displayed by the same page. To understand what I'm...
3
by: Tony Johansson | last post by:
Hello! Assume you want to store field object that a chess board consist of. A chess board consist of 64 fields where each field is either white or black. Now to my question how should I...
14
by: PengYu.UT | last post by:
Hi, I have been using C++ a lot and I've almost forgot what syntax is support by C and what syntax is support by C++? My feeling is that C++ gives programmer much flexibility. And the code is...
17
by: Jonathan Pritchard | last post by:
I know this is a simple problem, but I've just included this in the title because it explains what my program tries to do. The following does not work, it for someone reason does not want to...
4
by: punkybrewster | last post by:
I have the idea to create the program but I need help in finishing it. My task is to write a program that prints out a chessboard using only asterisks. I have to use multiple nested loops with...
4
by: furyzzz | last post by:
Hi..i am new to c++..i wanted to limit the chesspiece to be able to move 1-tile adjcent to their current position..but my code does not work at all..can anyone give me any pointers?..thx const int...
1
by: satish100 | last post by:
how can i write a program for making the plain chessboard in PHP
7
by: needhelp20 | last post by:
how to make a appropriate move for each pawns? I knew that I should used some HashMap or classes for every pawn,but I don't know how to implement in code... Here is my code: import java.awt.*;...
8
by: vmanrao | last post by:
Hey guys I'm a beginner with C++ and am doing a practice problem for my class and am having trouble figuring this problem out. A man wants 1 grain for the 1st square on a chessboard. 2 grains on...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.