Mình cũng không rõ về lỗi này lắm ,hic khó hiểu quá. Tuy nhiên với code cậu viết , mình chỉ cần khai báo 1 biến linh tinh bất kỳ , ví dụ : int a = 5 chẳng hạn trước vị trí của khai báo int dem['Z']; hoặc cái code cậu sửa lại của mình thì mọi thứ lại chạy ngon lành ! :
Cụ thể :
Code:
/*Chuong trinh dem so lan xuat hien cua 1 ki tu trong day*/
#include "stdio.h"
void main()
{
//Nhap vao chuoi ki tu
char string[80];
int a = 5 ; // Thêm vào đây
int dem['Z'];
printf("\nNhap vao 1 chuoi ki tu: "); gets(string);
for (int i='A'; i<='Z'; dem[i++]=0);
//Sau dong for nay thi string bi xoa ve "" ?
printf("%s", string);
for(i=0; string[i]!='\0';i++)
dem[string[i]>'Z'? string[i]-32:string[i]]++;
for (i='A';i<'Z'; i++)
if (dem[i]) printf("\n%c :%d",i, dem[i]);
}
Code:
#include <stdio.h>
#include <iostream.h>
#include <string.h>
void main()
{
char chuoi[100];
char ky_tu_can_kt;
int linhtinh = 9; //Khai báo thêm
int dem['z'] ;
cout<<"Nhap vao chuoi:";
cin.get(chuoi, 100);
cout<<"Nhap vao ky tu can dem so lan xuat hien :";
cin>>ky_tu_can_kt;
for (int i=0; i<='z'; i++) dem[i]=0;// them dong lenh nay
// sau khi chay het thi chuoi bi xoa ve "" ?
for (i = 0 ; i < (strlen(chuoi)) ; i ++ )
{
if ( chuoi[i] == ky_tu_can_kt )
{
dem[ky_tu_can_kt] ++;
}
}
cout<<"Ky tu '"<<ky_tu_can_kt<<"' xuat hien trong chuoi "<<dem[ky_tu_can_kt]<<" lan.\n";
}
Bác nào biết nguyên nhân chỉ cái xem nhỉ ???