- biến động được tạ ra khi chạy chương trình. thông qua con trỏ bộ nhớ được cấp phát và quản lý
- các thao tác trên bộ nhớ và con trỏ nằm trong thư viện stdlib.h và alloc.h
- các hàm cấp phát và giai phóng bộ nhớ: maaloc, alloc, realloc, free
- chứa năng của hàm malloc là cấ phát 1 vùng nhớ có kích thowcs size
ví dụ: int *p;
p=(int *)malloc(100);
p=(int *)malloc(80*sizeof(int)); - hàm free dùng để giải phóng bộ nhớ đã cấp phát.
free(p); - ví dụ:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
void mian()
{
char *s;
s=(char*)malloc(10);
strcpy(s,"HELLO");
puts(s);
free(s);
} - hàm calloc cấp phát bộ nhớ nitems*size byte
void *calloc(size_t nitems,size byte); - hàm realloc điêuchỉnh lai kích thước đã cấp phát là block size byte
void *realloc(void *block,sizebyte); - khởi tạo mảng cấp phát động
int *a=(int *)malloc(n*sizeof(int)):
int *a=(int*)calloc(n,sizeof(int)); - kiểm tra cấp phát thành công
if(a!=NULL)
{
//làm việc với mảng
free(a);//giai phóng
} - cấp phât động mảng 2 chiều
int **a=(int**)malloc(hàng*sizeof(int*));
for(int i=0;i<n;i++)
a[i]=(int*)malloc(cột*sizeof(int));
Tìm hiểu các giải thuật sắp xếp cơ bản trên cấu trúc dữ liệu mảng Tìm hiểu các giải thuật tìm kiếm cơ bản trên cấu trúc dữ liệu mảng Đánh giá ...GiaiThuat.Com
Thứ Tư, 31 tháng 12, 2014
hàm malloc cập phát bộ nhớ động
hàm malloc, alloc, realloc, free, cấp phát và giải phóng bộ nhớ động trong lập trình c
KIỂU FILE TRONG LẬP TRÌNH C
KIỂU FILE TRONG LẬP TRÌNH C
file là 1 tập hợp thông tin được lưu dưới 1 cái tên chung *.txt, *.exekhai báo: file *tên biến; ở đây là biến con trỏ
file *open(char *tên file,char *kiểu mở);
kiểu mở là 1 trong các chuổi sau đây:
"rb":read only
"wb":write
"ab":thêm vào cuối file
"r+b":đọc và ghi
"w+b":tạo file mới để ghi và đọc
"a+b":mowrvaf thêm vào cuối file
ví dụ:
f=open("t1.txt","w+b");
đóng tập tin fclose(f);
fcloseall(f);
kiểm tra đọc đến cuối file chưa.
dùng hàm:
feof(f)=0 nếu chưa và =1 nếu đã hết;
đọc ghi số nguyên lên file
putw(k,f);//ghi số nguyên k lên file file f
getw(f);trả về 1 số nguyên đọc được từ file f
đọc ghi 1 mẫu tin lên file
fread(*p,int size,int n,f);//đọc n mẫu tin có kích thước size, kết quả lưu vào biến con trỏ p
ví dụ:
int k;
fread(&k,2,1,f);
if(!feof(f)) printf("k=%d",k);
fwrite(*p,int size,n,f);//ghi n mẫu tin có kích thước size từ địa chỉ p lên file f
di chuyển con trỏ định vị nội dung file
rewind(f);//về đầu tập tin
fseek(f,k,vtri);
vtri:(nơi xuất phát) cụ thể là:
seek_set(hay 0):từ đầu file
seek_cur(hay 1):từ vị trí hiện tại
seek_end(hay 2):cuối file
ý nghĩa:
dời con trỏ định vị nội dung đi k bytetinhs từ vtri
k>0:hướng di chuyển về cuối tập tin
k<0:hướng di chuyển về đầu tập tin
ftell(f): trả về vị số thứ tự byte nơi con trỏ đang đứng
áp dụng tính số phần tử của file
fseek(f,0,seek_end);
long n=ftell(f);
Chủ Nhật, 28 tháng 12, 2014
sắp xếp chẵn trước, lẻ sau và tăng dần - bài tập c
//sắp xếp các phần tử của mảng sao cho các phần tử chẵn đứng trước, các phần tử lẻ đúng sau đông thời cũng sắp xếp tăng dần
#include<stdio.h>
#include<conio.h>
int a[10] = { 1, 5, 4, 8, 2, 9, 8, 6, 3, 9 };
int n = 10;
void sapxep(int a[], int n)
{
int i, j;
for (i = 0; i < n - 1;i++)
for (j = i + 1; j < n;j++)
if ((a[i] % 2 != 0 && a[j] % 2 == 0)
|| (a[i] % 2 == 0 && a[j] % 2 == 0 && a[i]>a[j])
|| (a[i] % 2 != 0 && a[j] % 2 != 0 && a[i]>a[j]))
{
int t = a[i];
a[i] = a[j];
a[j] = t;
}
}
void xuatmang(int a[], int n)
{
for (int i = 0; i < n; i++) printf(" %d ", a[i]);
}
void main()
{
sapxep(a, n);
xuatmang(a, n);
printf("\n");
}
viết hàm tính sin(x) - bài tập lập trình c
//viết hàm tính sin(x)
#include<stdio.h>
#include<conio.h>
#include<math.h>
double sin(double x)
{
double ps = x, i = 1, tong = x,dau=-1;
while (fabs(ps) > 0.00001)
{
ps = ps*x*x / ((i + 1)*(i + 2));
tong += dau*ps;
dau = -dau;
}
return tong;
}
void main()
{
double x;
printf("x="); scanf_s("%lf", &x);
printf("%lf\n", sin(x));
}
in ra màn hình tam giác pascal - bài tập c
//in ra màn hình tam giác pascal với số hàng bất kỳ nhập vào
#include<stdio.h>
#include<conio.h>
int tohop(int n, int k)
{
if (k == 1 || k == n) return 1;
return tohop(n - 1, k - 1) + tohop(n - 1, k);
}
void main()
{
int n;
printf("N="); scanf_s("%d", &n);
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= i; j++)
{
if (j == 1)
{
for (int m = 1; m <= n - i;m++) printf(" ");
}
printf("%2d ", tohop(i, j));
}
printf("\n\n");
}
}
liệt kê số bằng tổng ước số của nó - bài tập c
Viết chương trình tìm và in ra các số (<=1000) thỏa tính chất: số bằng tổng các ước số của nó. Ví dụ: 6 = 1 + 2 + 3.
liệt kê số bằng tổng ước số của nó - bài tập c
liệt kê số bằng tổng ước số của nó - bài tập c
//liệt kê các số nhỏ hơn 1000 thỏa số bằng tổng các ước số của nó
#include<stdio.h>
#include<conio.h>
void so()
{
for (int i = 3; i < 1000; i++)
{
int tong = 0;
for (int j = 1; j < i;j++)
if (i%j == 0) tong += j;
if (tong == i) printf("%d\n",i);
}
}
void main()
{
so();
}
tìm kiếm phần tử giá trị k trong mảng - bài tập c
tìm các phần tử có giá trị bằng k cho trước và hiện ra màn hình các phần tử đó.
//tìm các phần rử có giá trị bằng k cho trước và hiện ra màn hình các phần tử đó.
#include<stdio.h>
#include<conio.h>
int a[10] = { 1, 2, 3, 4, 3, 4, 2, 3, 4, 1 };
int n = 10;
void dem(int a[], int n, int k)
{
int b = 0;
for (int i = 0; i < n;i++)
if (a[i] == k) b++;
printf("co %d phan tu co gia tri %d\ncac phan tu do la:\n",b,k);
for (int i = 0; i < n;i++)
if (a[i] == k) printf(" a[%d] ",i);
}
void main()
{
printf("nhap k=");
int k;
scanf_s("%d", &k);
dem(a, n, k);
}
tính số e - bài tập lập trình c
viết chương trình c tính số e và lũy thừa cơ số e
//tính số e, lũy thừa với số e
#include<stdio.h>
#include<conio.h>
#include<math.h>
double e(double x)
{
double tong = 1, i = 1, ps = 1;
while (ps > 0.00001)
{
ps = ps*x / i;
tong += ps;
i++;
}
return tong;
}
void main()
{
printf("e^1=%lf\ne^7=%lf\n", e(1),e(7));
}
tính số pi (3.14) - bài tập lập trình c
viết chương trình c, lập trình tính số pi (3.14)
//tính số pi
#include<stdio.h>
#include<conio.h>
#include<math.h>
double pi()
{
double dau,s=1,tong=1;
int n = 1;
while (fabs(s)>0.00001)
{
if (n % 2 == 0) dau = 1; else dau = -1;
s = dau / (2 * n + 1);
tong += s;
n++;
}
return tong*4;
}
void main()
{
printf("%.10lf\n", pi());
}
//tính số pi
#include<stdio.h>
#include<conio.h>
#include<math.h>
double pi()
{
double dau,s=1,tong=1;
int n = 1;
while (fabs(s)>0.00001)
{
if (n % 2 == 0) dau = 1; else dau = -1;
s = dau / (2 * n + 1);
tong += s;
n++;
}
return tong*4;
}
void main()
{
printf("%.10lf\n", pi());
}
Thứ Bảy, 11 tháng 10, 2014
lập trình c: tìm BCNN bội chung nhỏ nhất của 2 số
viết chương trình c tìm BCNN bội chung nhỏ nhất của 2 hai số a và b nguyên dương
#include<stdio.h>
#include<conio.h>
void main()
{
int a, b, i = 2;
do
{
printf("nhap a>0,b>0\n");
scanf_s("%d%d", &a, &b);
} while (a <= 0 || b <= 0);
while (a%b!=0)
{
a = a / (i - 1)*i; i++;
}
printf("BCNN=%d", a);
_getch();
}
tìm giá trị xuất hiện nhiều nhất trong mảng và số lần xuất hiện
lập trình c tìm phần tử xuất hiện nhiều nhất trong mảng và số lần xuất hiện của phần tử đó
#include<stdio.h>
#include<conio.h>
int a[100];
void main()
{
int i, n,j, max, gt, dem;
printf("nhap so phan tu cua mang:");
scanf_s("%d", &n);
for (i = 0; i < n; i++)
{
printf("a[%d]=", i + 1);
scanf_s("%d", &a[i]);
}
printf("mang da nhap:\n");
for (i = 0; i < n; i++) printf(" %d ", a[i]);
max = 1;
for (i = 0; i < n; i++)
{
dem = 0;
for (j = 0; j < n; j++)
{
if (a[i] == a[j]) dem++;
}
if (max < dem)
{
max = dem;
gt = a[i];
}
}
printf("\nphan tu xuat hien nhieu nhat la: %d\n voi so lan xuat hien la: %d", gt, max);
_getch();
}
lập trình c tìm phần tử lớn thứ k trong mảng
viết chương trình c tìm phần tử lớn thứ k trong mảng
#include<stdio.h>
#include<conio.h>
int a[100];
void main()
{
int i, n, j,k,b,d;
printf("nhap so phan tu cua mang:");
scanf_s("%d", &n);
for (i = 0; i < n; i++)
{
printf("a[%d]=", i + 1);
scanf_s("%d", &a[i]);
}
printf("mang da nhap:\n");
for (i = 0; i < n; i++) printf(" %d ", a[i]);
for (i = 0; i < n-1;i++)
for (j = i + 1; j < n;j++)
if (a[i] < a[j])
{
k = a[i];
a[i] = a[j];
a[j] = k;
}
for (i = 1; i < n; i++)
{
for (j = 0; j < i; j++)
{
if (a[i] == a[j])
{
for (d = i; d < n; d++) a[d] = a[d + 1];
n--;
i--;
}
}
}
do
{
printf("\ngia tri lon thu k trong mang: k= ");
scanf_s("%d", &b);
if (b>n)printf("khong co phan tu lon thu %d\n nhap so khac!", b);
} while (b > n);
printf("gia tri do la: %d", a[b - 1]);
_getch();
}
lập trình c hiển thị các dãy con tăng trong mảng 1 một chiều
viết chương trình c hiển thị các dãy con tăng trong mảng 1 một chiều. ví dụ 1,2,3,1,3,2,4,5 thì in ra các dãy con tăng là 1,2,3 và 1,3 và 2,4,5
#include<stdio.h>
#include<conio.h>
int a[100];
void main()
{
int i, n, dem;
printf("nhap so phan tu cua mang:");
scanf_s("%d", &n);
for (i = 0; i < n; i++)
{
printf("a[%d]=", i + 1);
scanf_s("%d", &a[i]);
}
printf("mang da nhap:\n");
for (i = 0; i < n; i++) printf(" %d ", a[i]);
printf("\ncac day con tang la:\n");
for (i = 0; i < n; i++)
{
dem = 0;
while (a[i] < a[i + 1])
{
if (dem == 0) printf(" %d %d ", a[i], a[i + 1]);
else printf(" %d ", a[i + 1]);
i++; dem++;
}
printf("\n");
}
_getch();
}
Thứ Sáu, 10 tháng 10, 2014
lập trình c: xóa phần tử trùng nhau trong mảng
viết chương trình c xóa bớt các phần tử giống nhau trong mảng sao cho mảng chỉ gồm các phần tử phân biệt
#include<stdio.h>
#include<conio.h>
int a[100];
void main()
{
int i, j, n, k, dem = 0;
printf("nhap so phan tu cua mang:");
scanf_s("%d", &n);
for (i = 0; i < n; i++)
{
printf("a[%d]=", i + 1);
scanf_s("%d", &a[i]);
}
printf("mang da nhap:\n");
for (i = 0; i < n; i++) printf(" %d ", a[i]);
for (i = 1; i < n; i++)
for (j = 0; j < i; j++)
{
if (a[i] == a[j])
{
for (k = i; k < n; k++) a[k] = a[k + 1];
n--;
i--;
}
}
printf("\nmang sau khi xoa la:\n");
for (i = 0; i < n; i++) printf(" %d ", a[i]);
_getch();
}
lập trình c đếm số phần tử phân biệt của mảng bất kì
viết chương trình nhập vào 1 mảng bất kì và dếm xem có bao nhiêu phần tử phân biệt.
#include<stdio.h>
#include<conio.h>
int a[100];
void main()
{
int i, dem, n,j,k=1;
printf("nhap so phan tu cua mang:");
scanf_s("%d", &n);
for (i = 0; i < n; i++)
{
printf("a[%d]=",i + 1);
scanf_s("%d", &a[i]);
}
printf("mang da nhap la:\n");
for (i = 0; i < n; i++) printf(" %d ", a[i]);
for (i = 1; i < n; i++)
{
dem = 0;
for (j = 0; j < i; j++) if (a[j] == a[i]) dem = 1;
if (dem == 0) k++;
}
printf("\nco %d phan tu phan biet\n", k);
_getch();
}
x
lập trình c tìm trong mảng có bao nhiêu phần tử có giá trị bằng k
viết chương trình c về mảng 1 chiều: đếm xem có bao nhiêu phần tử có giá trị bằng k và chỉ ra các phần tử đó
#include<stdio.h>
#include<conio.h>
int a[100];
void main()
{
int i, k, n, dem=0;
printf("nhap so phan tu cua mang: ");
scanf_s("%d", &n);
for (i = 0; i < n; i++)
{
printf("a[%d]=", i + 1);
scanf_s("%d", &a[i]);
}
printf("mang da nhap la:\n");
for (i = 0; i < n; i++) printf(" %d ",a[i]);
printf("\nnhap so k muon kiem tra: ");
scanf_s("%d", &k);
for (i = 0; i < n; i++) if (k == a[i]) dem++;
if (dem == 0) printf("khong co phan tu nao co gia tri = %d", k);
else
{
printf("co %d phan tu co gia tri = %d\n cac phan tu do la:\n", dem, k);
for (i = 0; i < n; i++) if (a[i] == k) printf(" a[%d] ", i + 1);
}
_getch();
}
sắp xếp mảng a cho trước sao cho các phần tử lớn nhất ở đầu mảng, các phần tử bé nhất ở cuối mảng, các phần tử còn lại sắp xếp tăng dần
sắp xếp mảng a cho trước sao cho các phần tử lớn nhất ở đầu mảng, các phần tử bé nhất ở cuối mảng, các phần tử còn lại sắp xếp tăng dần
#include<stdio.h>
#include<conio.h>
int a[100];
void main()
{
int demmin = 0, n, i, k, max, min, demmax = 0, j;
printf("nhap so phan tu cua mang: ");
scanf_s("%d", &n);
for (i = 0; i < n; i++)
{
printf("a[%d]=", i + 1);
scanf_s("%d", &a[i]);
}
printf("mang da nhap:\n");
for (i = 0; i < n; i++) printf(" %d ", a[i]);
max = a[0]; min = a[0];
for (i = 0; i < n; i++) if (max < a[i]) max = a[i];
for (i = 0; i < n; i++) if (max == a[i]) demmax++;
for (i = 0; i < n; i++) if (min > a[i]) min = a[i];
for (i = 0; i < n; i++) if (min == a[i]) demmin++;
for (i = 0; i < demmax; i++)
{
for (j = demmax; j < n; j++)
{
if (a[j] == max)
{
k = a[i];
a[i] = a[j];
a[j] = k;
}
}
}
for (i = n - 1 - demmin; i < n; i++)
{
for (j = demmax; j < n - demmin; j++)
{
if (a[j] == min)
{
k = a[i];
a[i] = a[j];
a[j] = k;
}
}
}
for (i = demmax; i < n - demmin-1;i++)
for (j = i + 1; j < n - demmin;j++)
if (a[i]>a[j])
{
k = a[i];
a[i] = a[j];
a[j] = k;
}
printf("\nmang sau khi sap xep:\n");
for (i = 0; i < n; i++) printf(" %d ", a[i]);
_getch();
}
Thứ Sáu, 3 tháng 10, 2014
lập trình c, chèn thêm phần tử x vào vị trí k trong mảng
viết chương trình c chèn thêm 1 phần tử có giá trị x vào vị trí thứ k trong mảng 1 chiều
#include<stdio.h>
#include<conio.h>
int a[100], b[100];
void main()
{
int i,j, n,k,x;
printf("nhap so phan tu cua mang: ");
scanf_s("%d", &n);
for (i = 0; i < n; i++)
{
printf("A[%d]=", i + 1);
scanf_s("%d", &a[i]);
}
printf("mang da nhap la: \n");
for (i=0;i<n;i++) printf(" %d ", a[i]);
printf("\nnhap vi tri muon chen k=");
scanf_s("%d", &k);
printf("gia tri cua phan tu, x=");
scanf_s("%d", &x);
for (i = 0; i < k-1; i++) b[i] = a[i];
b[k-1] = x;
for (j = i; j < n; j++)
{
k++;
b[k-1] = a[j];
}
for (i = 0; i < n + 1; i++)a[i] = b[i];
printf("mang sau khi chen them la:\n");
for (i = 0; i < n + 1; i++) printf(" %d ", a[i]);
_getch();
}
lập trình c xóa k phần tử liên tục trên mảng bắt đầu từ vị trí x cho trước
viết chương trình c xóa k phần tử liên tục trên mảng bắt đầu từ vị trí x cho trước
#include<stdio.h>
#include<conio.h>
int a[100], b[100];
void main()
{
int i, j, n, k, x,m=0;
printf("nhap so phan tu cua mang: ");
scanf_s("%d", &n);
for (i = 0; i < n; i++)
{
printf("A[%d]= ", i + 1);
scanf_s("%d", &a[i]);
}
printf("mang da nhap la: \n");
for (i = 0; i < n; i++) printf(" %d ", a[i]);
do
{
printf("\nxoa may phan tu? k=");
scanf_s("%d", &k);
printf("bat dau tu vi tri nao? x=");
scanf_s("%d", &x);
} while (n - x < k-1);
for (i = 0; i < x-1; i++)
{
b[m] = a[i];
m++;
}
for (j = x + k-1; j < n; j++)
{
b[m] = a[j];
m++;
}
for (i = 0; i < m; i++)a[i] = b[i];
printf("mang sau khi da xoa la:\n");
for (i = 0; i < m; i++) printf(" %d ", a[i]);
_getch();
}
x
lập trình c xóa tất cả các số nguyên tố có trong mảng
viết chương trình c xóa tất cả các số nguyên tố có trong mảng
#include<stdio.h>
#include<conio.h>
int a[100], b[100];
void main()
{
int i, n, k = 0, j,dem;
printf("nhap so phan tu cua mang: ");
scanf_s("%d", &n);
for (i = 0; i < n; i++)
{
printf("nhap phan tu thu %d: ", i + 1);
scanf_s("%d", &a[i]);
}
printf("mang dda nhap la:\n");
for (i = 0; i < n; i++) printf(" %d ", a[i]);
for (i = 0; i < n; i++)
{
if (a[i] < 2)
{
b[k] = a[i]; k++;
continue;
}
dem = 0;
for (j = 2; j < a[i]; j++) if (a[i] % j == 0) dem = 1;
if (dem == 1)
{
b[k] = a[i];
k++;
}
}
for (i = 0; i < k; i++) a[i] = b[i];
printf("\nmang sau khi da xoa di cac so nguyen to la:\n");
for (i = 0; i < k; i++) printf(" %d ", a[i]);
_getch();
}
lập trình c xóa tất cả các phần tử là số chẵn trong mảng
viết chương trình c nhập vào 1 mảng bất kì và tiến hành xóa tất cả các phần tử là số chẵn có trong mảng, in ra màn hình mảng sau khi đã xóa .
#include<stdio.h>
#include<conio.h>
int a[100], b[100];
void main()
{
int i, n, k=0;
printf("nhap so phan tu cua mang: ");
scanf_s("%d", &n);
for (i = 0; i < n; i++)
{
printf("a[%d]= ", i + 1);
scanf_s("%d", &a[i]);
}
printf("mang da nhap la: \n");
for (i = 0; i < n; i++) printf(" %d ", a[i]);
for (i = 0; i < n;i++)
if (a[i] % 2 != 0)
{
b[k] = a[i];
k++;
}
for (i = 0; i < k; i++) a[i] = b[i];
printf("\nmang sau khi xoa cac so chan la: \n");
for (i = 0; i < k; i++) printf(" %d ", a[i]);
_getch();
}
lập trình c xóa tất cả các phần tử có giá trị k trong mảng
viết chương trình c nhập vào mảng 1 chiều , xóa đi tất cả các phần tử có giá trị bằng k cho trước ra khỏi mảng, in ra màn hình mảng sau khi đã xóa
#include<stdio.h>
#include<conio.h>
int a[100], b[100];
void main()
{
int i, n, k, m = 0;
printf("nhap so phan tu cua mang: ");
scanf_s("%d", &n);
for (i = 0; i < n; i++)
{
printf("nhap phan tu thu %d: ", i + 1);
scanf_s("%d", &a[i]);
}
printf("mang ban vua nhap la: \n");
for (i = 0; i < n; i++) printf(" %d ", a[i]);
printf("\nban muon xoa cac phan tu co gia tri k= ");
scanf_s("%d", &k);
for (i = 0; i < n;i++)
if (a[i] != k)
{
b[m] = a[i];
m++;
}
for (i = 0; i < m; i++) a[i] = b[i];
printf("mang sau khi da xoa la:\n");
for (i = 0; i < m; i++) printf(" %d ", a[i]);
_getch();
}
lập trình c xóa phần tử thứ k trong mảng 1 chiều
viết chương trình c xóa phần tử thứ k trong mảng và in ra màn hình mảng sau khi đã xóa đi phần tử đó
#include<stdio.h>
#include<conio.h>
int a[100];
int b[100];
void main()
{
int i, n,k,m=0;
printf("nhap so phan tu cua mang: ");
scanf_s("%d", &n);
for (i = 0; i < n; i++)
{
printf("nhap phan tu thu %d: ",i+1);
scanf_s("%d", &a[i]);
}
printf("mang ban vua nhap la:\n");
for (i = 0; i < n; i++) printf(" %d ", a[i]);
printf("\n ban muon xoa phan tu thu may trong mang: k= ");
scanf_s("%d", &k);
for (i = 0; i < n; i++)
if (i != k - 1)
{
b[m] = a[i];
m++;
}
for (i = 0; i < m; i++)a[i] = b[i];
printf("mang sau khi da xoa phan tu thu %d la: \n", k);
for (i = 0; i < n - 1; i++) printf(" %d ", a[i]);
_getch();
}
lập trình c sắp xếp mảng sao cho chẵn dồn về trước, lẻ dồn về sau
sắp xếp mảng sao cho tất cả các số chẵn dồn về trước, các số lẻ dồn về sau mảng và in ra màn hình mảng đã sắp xếp
#include<stdio.h>
#include<conio.h>
int a[100], c[100], l[100];
void main()
{
int i, j, n, m=0, k=0;
printf("nhap so phan tu cua mang: ");
scanf_s("%d", &n);
for (i = 0; i < n; i++)
{
printf("nhap phan tu thu %d: ", i + 1);
scanf_s("%d", &a[i]);
}
for (i = 0; i < n;i++)
if (a[i] % 2 == 0)
{
c[k] = a[i];
k++;
}
else
{
l[m] = a[i];
m++;
}
for (j = 0; j < k; j++)a[j] = c[j];
m = 0;
for (j = k; j < n; j++)
{
a[j] = l[m];
m++;
}
printf("mang sau khi da sap xep la: \n");
for (i = 0; i < n; i++) printf(" %d ", a[i]);
_getch();
}
Thứ Năm, 2 tháng 10, 2014
lập trình c sắp xếp mảng tăng dần
viết chương trình c nhập vào 1 mảng bất kì và sắp xếp mảng theo thứ tự tăng dần rồi in ra màn hình mảng đã sắp xếp
#include<stdio.h>
#include<conio.h>
int a[100];
void main()
{
int i, j, n,k;
printf("nhap so phan tu cua mang: ");
scanf_s("%d", &n);
for (i = 0; i < n; i++)
{
printf("nhap phan tu thu %d: ", i + 1);
scanf_s("%d", &a[i]);
}
for (i = 0; i < n-1;i++)
for (j = i+1; j < n;j++)
if (a[i]>a[j])
{
k = a[i];
a[i] = a[j];
a[j] = k;
}
printf("mang sau khi da sap xep la:\n");
for (i = 0; i < n; i++) printf(" %d ", a[i]);
_getch();
}
lập trình c (mảng 1 chiều) tìm tổng lớn nhất của k phần tử liên tếp
viết chương trình c : mảng 1 chiều, tìm tổng lớn nhất của k (cho trước) phần tử liên tiếp trên mảng
#include<stdio.h>
#include<conio.h>
int a[100];
int b[100];
void main()
{
int k,i,n,j;
printf("nhap so tu cua mang: ");
scanf_s("%d", &n);
for (i = 0; i < n; i++)
{
printf("nhap phan tu thu %d: ", i + 1);
scanf_s("%d", &a[i]);
}
printf("tong cua k phan tu lien tiep, nhap k= ");
scanf_s("%d", &k);
for (i = 0; i <= n-k; i++)
for (j = 0; j < k; j++)
b[i] += a[i + j];
int max = b[0];
for (i = 1; i <= n - k;i++)
if (max < b[i])max = b[i];
printf("tong lon nhat cua %d phan tu lien tiep la: %d", k, max);
_getch();
}
x
Đăng ký:
Bài đăng (Atom)
Bài đăng phổ biến
-
Cách Boot USB đối với Main Gigabyte Để boot từ main gigabye bạn xem main của bạn có hỗ trợ không: nhấn ESC, DEL, F12...tùy từng máy bạn nên ...
-
Cách Sửa lỗi Font AOE khó chịu bằng một số thủ thuật khá đơn giản Copy Font vào mục Font của Windows : http://www.mediafire.com/download/mdd...
-
Viết chương trình tính Log(a)x với a,x là hai số thực nhập vào từ bàn phím, và x>0, a>0, a!=1 Hướng dẫn: sử dụng công thức: Log(a)x=Ln...
-
Hướng dẫn mở UEFI cho Dell N4110 và Vostro 3750 Tình cờ hôm nay ghé sang 1 số diễn đàn của Nga và Bios Mod mình đã tìm được cách Unlocked UE...
-
BritainTourist .Com PhumyGroup.com SonhaiGroup.com LiaoningGroup .Com S haanxiGroup .com EchinaTourist.com T echnologyJewelry ....
-
Vacationnews.Xyz Vacationsnews.Xyz Vacationsworld.Xyz Vantagecreditunion.Xyz Venturenews.Xyz Ventureworld.Xyz Vermontattorney.Xyz Vermontho...
-
Ugandatravel.Xyz Ukattorney.Xyz Ukhotel.Xyz Uklawyers.Xyz Uklawyer.Xyz Ukonline.Xyz Ukrainehome.Xyz Ukrainehotel.Xyz Ukraineinsurance.Xyz U...
-
SacomGold.com mnTourist.com Anbaoco.com SacomFinance.com VinaElectronics.com LatviaNet.com NationalAirway.com SacomInsurance.com SacomHome.c...
-
Walmartscholarship.Xyz Wapnews.Xyz Waponline.Xyz Wapworld.Xyz Washingtonattorney.Xyz Washingtonhome.Xyz Washingtoninsurance.Xyz Washingtonl...
-
AirlineDomains.com Make Offer TouristDomains.com Make Offer MinhphuGroup.com Make Offer TurkeyDomain.com Make Offer TouristDomain.com Make O...