Hỏi/ Thắc mắc - Lấy phần tử của mảng C#? | VN-Zoom | Cộng đồng Chia Sẻ Kiến Thức Công Nghệ và Phần Mềm Máy Tính

Adblocker detected! Please consider reading this notice.

We've detected that you are using AdBlock Plus or some other adblocking software which is preventing the page from fully loading.

We need money to operate the site, and almost all of it comes from our online advertising.

If possible, please support us by clicking on the advertisements.

Please add vn-z.vn to your ad blocking whitelist or disable your adblocking software.

×

Hỏi/ Thắc mắc Lấy phần tử của mảng C#?

daithai263

Búa Đá Đôi
cho mình hỏi làm thế nào để chèn kí tự "^_^" vào vị trí thứ 3 trong mảng ạ.
Nhâp vào chuỗi gồm n kí tự
thêm kí tự ^_^ vào vị trí thứ 3

code ở trong chạy được mà hình như sai sai @@ ..
fkJu2nZ.png
 

daithai263

Búa Đá Đôi
Dùng String.Insert ko nhanh hơn là chuyển nó về mảng à bạn
bạn chèn vô giúp mình được không ạ.. mình chưa học không ràn lệnh đó

string[] mang = txtNhap.Text.Split(' ');
for (int i = 0; i < mang.Length; i++)
{
string bientam = mang;
if (bientam.Length == 2)
{
bientam = bientam + " T_T ";
mang = bientam;
break;
}
txtMaHoa.Text = bientam;

}
 

daithai263

Búa Đá Đôi
nha
Nếu chỉ đơn giản là chèn 1 chuỗi gì đó vào 1 chuỗi cho trước (ví dụ tại vị trí thứ 3) thì như bạn ở #2 có nói. b thử câu lệnh này:
C#:
str.insert(3, "^ _ ^");

hoặc xài substring để cắt ra rồi nối lại:

C#:
str.substring(0, 3) + "^ _ ^" + str.substring(3)
nhập chuỗi sau đó mã hóa theo dạng
chuyển chuỗi theo dạng [a->., b->&, c->#, h->?, n->*, u->@], chèn khóa là ^_^ vào vị trí thứ 3
bạn biết dùng lệnh if như nào để nó biết chuõi > 2 chữ mới thêm ^^ vào vị trí thứ 3 không ạ
còn chuỗi = 2 thì chỉ mã hóa thui.


code:
int giayhientai = Int32.Parse(DateTime.Now.ToString("ss"));
txtMaHoa.Text = "";

if (giayhientai < 15)
{
string[] mang = txtNhap.Text.Split(' ');

for (int i = 0; i < mang.Length; i++)
{
if (mang.Length > 2)
{
string bientam = mang;
bientam = "^_^";
mang[2] = mang[2] + bientam;
}
else
break;
}

string noi = string.Join(" ", mang);
noi = noi.Replace("a", ".");
noi = noi.Replace("b", "&");
noi = noi.Replace("c", "#");
noi = noi.Replace("h", "?");
noi = noi.Replace("n", "*");
noi = noi.Replace("u", "@");

MessageBox.Show("Thành công!");
txtMaHoa.Text = noi;
}


// dòng này mình cho for chay mà sai rui @@
for (int i = 0; i < mang.Length; i++)
{
if (mang.Length > 2)
{
string bientam = mang;
bientam = "^_^";
mang[2] = mang[2] + bientam;
}
else
break;
}
 

daithai263

Búa Đá Đôi
để get độ dài chuỗi thì b xài str.Length
vẫn không ra được, bác chèn vô code ở trên giúp với!
 

Handrf

Kiếm đá
nếu theo đề bài bạn có thể viết gọn lại như này. k cần lặp cho đau đầu {big_smile}
C#:
string in = txtMaHoa.Text;
if (in.Length > 2)
    in.insert(3,"^_^");
in.replace('a', '.');
// something else
txtMaHoa.Text = in;
 

Handrf

Kiếm đá
Mình có sửa lại code của bạn một chút. bạn xem thử

C#:
            int giayhientai = Int32.Parse(DateTime.Now.ToString("ss"));
            txtOut.Text = "";
            giayhientai = 1;
            if (giayhientai < 15)
            {
                string[] mang = txtIn.Text.Split(' ');

                if (mang.Length > 2)
                    mang[2] = "^_^ " + mang[2];

                string noi = string.Join(" ", mang);
                noi = noi.Replace("a", ".");
                noi = noi.Replace("b", "&");
                noi = noi.Replace("c", "#");
                noi = noi.Replace("h", "?");
                noi = noi.Replace("n", "*");
                noi = noi.Replace("u", "@");

                MessageBox.Show("Thành công!");
                txtOut.Text = noi;
            }
 

daithai263

Búa Đá Đôi
Mình có sửa lại code của bạn một chút. bạn xem thử

C#:
            int giayhientai = Int32.Parse(DateTime.Now.ToString("ss"));
            txtOut.Text = "";
            giayhientai = 1;
            if (giayhientai < 15)
            {
                string[] mang = txtIn.Text.Split(' ');

                if (mang.Length > 2)
                    mang[2] = "^_^ " + mang[2];

                string noi = string.Join(" ", mang);
                noi = noi.Replace("a", ".");
                noi = noi.Replace("b", "&");
                noi = noi.Replace("c", "#");
                noi = noi.Replace("h", "?");
                noi = noi.Replace("n", "*");
                noi = noi.Replace("u", "@");

                MessageBox.Show("Thành công!");
                txtOut.Text = noi;
            }
ĐƯỢC rồi ạ,, cảm ơn bác nhiều nha :))
đơn giản vậy nãi giờ ngồi if for rùi while tùm lum k ra :V
 

daithai263

Búa Đá Đôi
Mình có sửa lại code của bạn một chút. bạn xem thử

C#:
            int giayhientai = Int32.Parse(DateTime.Now.ToString("ss"));
            txtOut.Text = "";
            giayhientai = 1;
            if (giayhientai < 15)
            {
                string[] mang = txtIn.Text.Split(' ');

                if (mang.Length > 2)
                    mang[2] = "^_^ " + mang[2];

                string noi = string.Join(" ", mang);
                noi = noi.Replace("a", ".");
                noi = noi.Replace("b", "&");
                noi = noi.Replace("c", "#");
                noi = noi.Replace("h", "?");
                noi = noi.Replace("n", "*");
                noi = noi.Replace("u", "@");

                MessageBox.Show("Thành công!");
                txtOut.Text = noi;
            }
từ 16-40: chuyển chuỗi theo dạng [t->/, o->+, s->%, i->@, p->!, h->:], chèn khóa là T_T vào vị trí thứ 2
if (mang.Length == 0)
mang[0] = mang[0] + "T_T";
trường hợp này đặt length ==0 sau không ra ạ?
 

Handrf

Kiếm đá
từ 16-40: chuyển chuỗi theo dạng [t->/, o->+, s->%, i->@, p->!, h->:], chèn khóa là T_T vào vị trí thứ 2
if (mang.Length == 0)
mang[0] = mang[0] + "T_T";
trường hợp này đặt length ==0 sau không ra ạ?
thì mang.Length == 0 tức là mảng k có phần tử nào, nếu truy cập mang[0] sẽ bị lỗi. giả sử nếu truy cập được mang[0] tức là mang.Length đã >= 1 rồi
 


Top