Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
5 / 5 / 1
Регистрация: 28.03.2010
Сообщений: 94
1

Програма для вывода узора в виде звездочек

11.04.2010, 14:00. Просмотров 853. Ответов 2
Метки нет (Все метки)

Помогите написать программу на "C", использующую оператор goto, которая выводит на экран последовательность звездочек. Например, для числа 5 последовательность будет иметь вид:
Название: 269598d1e9bdt.jpg
Просмотров: 115

Размер: 3.1 Кб
Программа должна выполнять только следующие операторы (для языка C): printf(“*”); printf(“ ”); printf(“\n”);
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.04.2010, 14:00
Ответы с готовыми решениями:

Разработать рекурсивный метод для вывода на экран звездочек и пробелов
Дано натуральное четное число n. Разработать рекурсивный метод для вывода на экран следующей...

Вывод чисел в виде узора
Здравствуйте, у меня по заданию был вывод чисел в виде узора, как на картинке (слева). Нужно...

Цифры в виде звездочек
Здравствуйте форумчане! Помогите исправить ошибку: Должно выводится Привет "Имя"! Твоя...

Составить программу для вывода в виде календаря для к-ого месяца 2009 года
Составить программу для вывода в виде календаря для к-ого месяца 2009 года (к - целое число в...

2
2 / 2 / 1
Регистрация: 10.01.2010
Сообщений: 52
12.04.2010, 12:21 2
Лучший ответ Сообщение было отмечено kolxoznik1 как решение

Решение

Я сделал вот так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <stdio.h>
 
int main()
{
int i=0;
printf("*");
start0:
printf(" ");
printf(" ");
printf(" ");
printf(" ");
printf(" ");
printf(" ");
printf(" ");
printf(" ");
printf("*");
++i;
if (i<2)
goto start0;
else
printf("\n");
printf("*");
  printf(" ");
   printf("*");
   printf(" ");
   printf(" ");
   printf(" ");
   int  c=0;
start1:
   printf(" ");
   printf("*");
++c;
if (c<3) 
goto start1;
else
printf(" ");
printf(" ");
printf(" ");
printf(" ");
printf("*");
printf(" ");
printf("*");
printf("\n");
int d=0;
start2:
printf("*");
printf(" ");
d++;
if (d<9)
goto start2;
else
printf("*");
printf("\n");
int e=0;
start3:
printf("*");
++e;
if (e<19)
goto start3;
else
printf("\n");
end:
printf("\n");
return 0;
}
Только узор немного другой, но принцип тот же.
0
Эксперт С++
5811 / 3462 / 356
Регистрация: 08.02.2010
Сообщений: 7,448
12.04.2010, 16:03 3
Задаешь число в строке 4.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <stdio.h>
#include <stdlib.h>
 
#define num 4
 
int main(void)
{
    int current_row=1, current_col=1, current_sym=1, col_size=num-1, last_col=num+1;
decision:
    if(current_row>num)
        goto end;
    if(current_col==last_col)
    {
        if(((current_col&1)&&(current_row==1))||((!(current_col&1))&&(current_row==num)))
            goto asterisk;
        else
        {
            current_sym=1;
            current_col=1;
            goto newline;
        }
    }
    else if(current_sym%col_size==1)
        goto asterisk;
    else if(((current_row==1)&&(!(current_col&1)))||((current_row==num)&&(current_col&1)))
        goto asterisk;
    else goto space;    
asterisk:
    printf("*");
    ++current_sym;
    if(current_sym>col_size)
    {
        ++current_col;
        current_sym=1;
    }
    if((current_col==last_col)&&(current_sym==2))
    {
        current_sym=1;
        current_col=1;
        goto newline;
    }
    goto decision;
space:
    printf(" ");
    ++current_sym;
    if(current_sym>col_size)
    {
        ++current_col;
        current_sym=1;
    }
    if((current_col==last_col)&&(current_sym==2))
    {
        current_sym=1;
        current_col=1;
        goto newline;
    }
    goto decision;
newline:
    printf("\n");
    ++current_row;
    goto decision;
end:
    system("pause");
    return 0;
}
Не знаю как и почему, но вроде работает:
http://codepad.org/7J8zKcDI

ЗЫ. Не имеет смысла задавать константу num меньше 3 (будет зацикливание). А если задать больше 9, то строка не влезет в стандартную ширину буфера консоли в 80 символов.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.04.2010, 16:03

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Ввод пароля в виде звездочек
Здравсвуйте, не подскажите как сделать, чтобы при вводе допустим пароля, цифры или буквы...

Вывести квадрат в виде звездочек
Программа, которая считывает размер стороны квадрата и затем выводит этот квадрат в виде звездочек....

Программа для вывода в виде таблицы
Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Xнач до Xкон. С...

Как ввестив в консоли слово, в виде звездочек?
Я новичок в Java. Помогите плз. Мне нужно в вести слово в консоли, но оно должно отображать ввиде...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.