Create a function called triangles that prints an upside down right triangle (composed of *'s) that starts out n stars wide and decreases down to one star then goes back up to n stars. DO NOT MODIFY below by the Instructor. Example input/output:
./p3 4 **** *** ** * ** *** ****
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
if (argc < 2) {
printf("usage: h4 <number>\n");
return 1;
}
triangles(atoi(argv[1]));
return 0;
}
Do not modify main below. Write the function pyramid that takes an integer and outputs a pyramid constructed of asterisks(*) that is that of rows high.
input/output: ./p4 4 * *** ***** *******
#include <stdio.h>
#include <stdlib.h>
void pyramid (int a) {
/* ???? */
}
int row = argc;
int i, j, row;
for(i=row; i>=1; --i) {
for(j=1; j<=i; ++j) {
printf("%d ",j);
}
printf("\n");
}
return 0;
}
int main (int argc, char *argv[]) //Do not modify
{
if (argc < 2) //Do not modify
{
printf ("usage: h4 <number>\n");//Do not modify
return 1;//Do not modify
}
pyramid(atoi (argv[1]));//Do not modify
return 0;
}
Я знаю основы программирования на Javascript и C, но я не уверен, как начать работу с функциями из triangles(atoi(argv[1])); или pyramid(atoi (argv[1]));. Никто не говорил мне об этом раньше ?? Помощь ценится больше, поэтому я могу изучить, как она выглядит. Спасибо.
В теге C на SO есть много вопросов о вариантах печати на тему пирамид. Вы должны посмотреть на них и почерпнуть идеи. Кроме того, как правило, лучше задать два отдельных вопроса, на каждый из которых может быть дан собственный набор ответов, чем объединять их в один.
Поскольку вы новичок в SO, вам нужно знать следующее: Никогда не вносите существенных изменений в свой вопрос после того, как был опубликован ответ. Если кто-то прочитает ваш вопрос в том виде, в каком он есть сейчас, а затем прочитает мой ответ, они подумают, что ответ неверен, потому что они не видят ваш исходный вопрос. Открою вопрос.





Я не хочу делать вашу домашнюю работу, но вот намекать для вашей первой проблемы.
#include <stdio.h>
#include <stdlib.h>
void triangles(int n)
{
int t;
// Print first half
t = n;
while(t)
{
for(int i=0; i<t; ++i) printf("*");
printf("\n");
--t;
}
// Print second half
t = 2;
// ... add code here
}
int main(int argc, char *argv[])
{
if (argc < 2)
{
printf("usage: h4 <number>\n");
return 1;
}
triangles(atoi(argv[1]));
return 0;
}
./p3 4 даст:
****
***
**
*
Как видите, на нем напечатана первая половина треугольника. Используя тот же принцип, теперь вы можете добавить код для печати второй половины.
{для (int i = 0; i <t; --i) printf ("*"); printf ("\ п"); ++ t; }
@StartProgrammer не совсем, но близко ... попробуйте и посмотрите, что он делает ... тогда вы скоро увидите проблему и сделаете домашнее задание
Разобрался.
Расскажите или покажите, что вы пробовали