Cho e hỏi đoạn code này là tam giác cân hình *, vậy là tam giác cân rỗng thì viết như thế nào ạ, mấy anh giúp e với. Tk!
#include <stdio.h>
#include <conio.h>
void main()
{
int h,i,j;
printf(“nhap chieu cao h: “);
scanf(”%d”,&h);
for(i=0;i<h;++i)
{
for(j=h-1;j>i;j–)
printf(" “);
for(j=0;j<i2+1;j++)
printf("”);
printf("
");
}
getch();
}
// Ve tam giac can
#include <stdio.h>
#include <stdlib.h>
void main(int argc, char* argv[]){
int n = atoi(argv[1]);
for(int i=1;i<=n;i++){
for(int j=1;j<=n-i;j++)
printf(" ");
for(int j=1;j<=2*i-1;j++)
printf("%s", (i==1||i==n||j==1||j==2*i-1) ? "*" : " ");
printf("
");
}
}
Sai thì thôi nhé :sogood:
lỗi rồi anh ơi nhưng dù sao cũng cám ơn anh, anh giải thích dong này dùm em đc ko
printf(“%s”, (i==1||i==n||j==1||j==2i-1) ? "" : " ");
theo em chắc dùm hàm if @@!
[QUOTE=12520333;162244]lỗi rồi anh ơi nhưng dù sao cũng cám ơn anh, anh giải thích dong này dùm em đc ko[/QUOTE]
Lỗi gì ? Chạy ngon lành mà :sogood:

Build rồi chạy bằng cmd.
Còn không thì chỉnh lại tí ntn :
// Ve tam giac can
#include <stdio.h>
void main(){
int n;
printf("Nhap n: "); scanf("%d",&n);
for(int i=1;i<=n;i++){
for(int j=1;j<=n-i;j++)
printf(" ");
for(int j=1;j<=2*i-1;j++)
printf("%s", (i==1||i==n||j==1||j==2*i-1) ? "*" : " ");
printf("
");
}
}
// Ctrl + F5 -> Xem kq
[QUOTE=12520333;162244]lỗi rồi anh ơi nhưng dù sao cũng cám ơn anh, anh giải thích dong này dùm em đc ko[/QUOTE]
printf("%s", (i==1||i==n||j==1||j==2*i-1) ? "*" : " ");
Dòng này cũng như lệnh if ấy.
Nếu (i==1||i==n||j==1||j==2i-1) thì in "" else in " " :sogood:
Thank anh nhiều… đoạn dưới chạy đc còn đoạn code trên chạy nó ko cho nhập n (kệ ko sao)…cho em hỏi luôn lệnh số mũ là pow thì mình phài luôn khai báo ntn sao : x=pow(double(i),double(j)); ??? hay còn cách khác nữa ko…
[QUOTE=12520333;162269]Thank anh nhiều… đoạn dưới chạy đc còn đoạn code trên chạy nó ko cho nhập n (kệ ko sao)…cho em hỏi luôn lệnh số mũ là pow thì mình phài luôn khai báo ntn sao : x=pow(double(i),double(j)); ??? hay còn cách khác nữa ko…[/QUOTE]
- Đoạn trên Built ( Ctrl + Shift + B) rồi vào cmd chạy như hình ở trên post #5 kìa, không chạy trực tiếp.:shame:
- “In C, only the version taking two double parameters exists with this name. The other overloads are onaly availble in C++.” - Pow function:sogood:
chưa hiểu lm’. lệnh nó ghi ntn là đúng, anh vdu thử xem 
[QUOTE=12520333;162269]Thank anh nhiều… đoạn dưới chạy đc còn đoạn code trên chạy nó ko cho nhập n (kệ ko sao)…cho em hỏi luôn lệnh số mũ là pow thì mình phài luôn khai báo ntn sao : x=pow(double(i),double(j)); ??? hay còn cách khác nữa ko…[/QUOTE]
C++ : x = pow(i,j) với i,j là kiểu số (số nguyên (int,byte, long, long long,…) hay số thực (float,double,…))
C: x = pow(i,j) với i,j là kiểu double
VD:
double i = 2.0,j = 3.0,x;
x = pow(i,j);
[QUOTE=10520541;162270]- “In C, only the version taking two double parameters exists with this name. The other overloads are onaly availble in C++.” - Pow function:sogood:[/QUOTE]
Don’t forget auto casting in C++ 