PDA

View Full Version : giải dùm mình bài này đi



vangnghe
18-04-2009, 22:38
Viết chương trình hiện ra trên màn hình :
a,
*
**
***
****
*****
******

b,
$$$$$$
$$$$$
$$$$
$$$
$$
$

( dấu chấm ko liên quan gì tới bài tập cả )
C,.......1
........232
.......34543
......4567654
.....567898765
....67890109876
...7890123210987
..890123454321098
.90123456765432109
0123456789876543210


Dùng vòng FOR để viết các số từ 0 đến 99 theo cách sau :
0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
.......
90 91 92 93 94 95 96 97 98 99

các bnj giúp mình nha , thanks nha

vanquyenhp
19-04-2009, 00:01
Mình thấy phần a và b dễ vì nó chỉ là hình tam giác xuôi và ngược của các ký tự. Còn phần c thì hơi khó.
Còn cách hiển thị các số từ 0 đến 99 thì code của nó là như sau:

#include <stdio.h>
#include <conio.h>
void main()
{
clrscr();
int i=0,j=0;
for(i=0;i<100;i++)
{if(j==10)
{printf("\n");
j=0;
}
printf("%d ",i);
j++;
}
getch();
}

eku037
20-04-2009, 22:08
phần a có thể viết như sau:
#include<iostream.h>
#include<conio.h>
int i,m=1,n;
void main()
{clrscr();
cout<<"Nhap so dong can in:"; cin>>n;
while(m<=n)
{
cout<<"\n*";
for(i=1;i<m;i++)
cout<<"*";
m=m+1;
}
getch();
}
bạn cũng có thể dùng vòng lặp for
#include<iostream.h>
#include<conio.h>
int i,m,n;
void main()
{clrscr();
cout<<"Nhap so dong can in:"; cin>>n;
for(m=1;m<=n;m++)
{
cout<<"\n*";
for(i=1;i<m;i++)
cout<<"*";
}
getch();
}
còn phần b thì bạn làm the chiều giảm dần, vì nó cũng tương tự như thế mà

[=========> Bổ sung bài viết <=========]

phần cuối của bạn có thể làm như sau:
#include<iostream.h>
#include<conio.h>
int i,m,n;
void main()
{clrscr();
for(i=0;i<=9;i++)
{
{for(m=i*10;m<=i*10+9;m++)
cout<<m<<" ";
}
cout<<"\n";
}
getch();
}

[=========> Bổ sung bài viết <=========]

phần c của bạn có thể làm như sau:
#include<iostream.h>
#include<conio.h>
int i,j,n,m;
void main()
{clrscr();
for(i=1;i<=10;i++)
{
for(j=1;j<=10-i;j++)
{cout<<" ";}
for(n=i;n<=2*i-1;n++)
{cout<<n-10;}
for(m=2*i-2;m>=i;m--)
{cout<<m-10;}
cout<<"\n";
}
getch();
}

[=========> Bổ sung bài viết <=========]

phần c của bạn có thể mở rộng ra như thế này:
#include<iostream.h>
#include<conio.h>
int i,j,n,m,k;
void main()
{clrscr();
cout<<"Nhap so dong:"; cin>>k;
for(i=1;i<=k;i++)
{
for(j=1;j<=k-i;j++)
{cout<<" ";}
for(n=i;n<=2*i-1;n++)
{cout<<n%10;}
for(m=2*i-2;m>=i;m--)
{cout<<m%10;}
cout<<"\n";
}
getch();
}

minhquang12g
21-04-2009, 20:00
Viết chương trình hiện ra trên màn hình :
a,
*
**
***
****
*****
******
void XuatSao(int n)
{
for(int i=0;i<n;i++)
{
cout<<"\n";
for(int j = 0;j<=i;j++)
cout<<"*";
}
}

xuất theo
$$$$$$
$$$$$
$$$$
$$$
$$
$

void XuatDinhDang(int n)
{
for(int i=0;i<n;i++)
{
cout<<"\n";
for(int j = n-1;j>=i;j--)
cout<<"$";
}
}

( dấu chấm ko liên quan gì tới bài tập cả )
C,.......1
........232
.......34543
......4567654
.....567898765
....67890109876
...7890123210987
..890123454321098
.90123456765432109
0123456789876543210

cái này đang bó tay :((


Dùng vòng FOR để viết các số từ 0 đến 99 theo cách sau :
0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
.......
90 91 92 93 94 95 96 97 98 99

các bnj giúp mình nha , thanks nha

code
void Xuat()
{
for(int i=0; i<100; i++)
cout<<i<<"\t";
}
nếu muốn xuất từ 0 -> n thì:
void Xuat(int n)
{
for(int i=0; i<=n; i++)
cout<<i<<"\t";
}

ly_sv
21-04-2009, 21:22
#include<iostream.h>
#include<conio.h>
void main()
{
int n;cin>>n;
for(int i=0;i<=n;i++)
{
for(int j=0;j<i;j++)
cout<<"*";
cout<<endl;
}
getch();
}

kimduquan
22-04-2009, 09:10
bài c là bài khó nên mình ko code đâu,đối với mấy dạng bài này thì bạn chỉ cần tìm ra quy luật của nó là xong,tất nhiên tìm ra quy luật của nó thì hơi khó nhưng nó giúp cho bạn luyện khả năng tư duy,như bài c này thì mình thấy các phần tử ở cột giữa luôn là số lẻ và lặp lại :1,3,5,7,9,1,3,5,7,9,và dòng 1 có 1 pt,dòng 2 có 3 pt,dòng i có 2*i+1 pt và pt a[i][j]=a[i][j+1]-1;(j+1<=n/2,n/2 là vị trí giữa),rõ ràng ta đã biết số pt của từng dòng ,quy luật để tìm phần tử thứ j trong dòng đó,và bây giờ chỉ cần viết code là xong.

tanden511
22-04-2009, 14:50
Bài : Dùng vòng FOR để viết các số từ 0 đến 99 theo cách sau :
0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
.......
90 91 92 93 94 95 96 97 98 99

Dùng vòng while cũng được :
int i=0;
while(i<100){
for(int j=0;j<10;j++){ cout<<i+j<<" ";}
cout<<endl;
i=i+10; }