Форум программистов, компьютерный форум CyberForum.ru

Создание простого рисунка c while. - C++

Восстановить пароль Регистрация
 
Martens
0 / 0 / 0
Регистрация: 15.11.2010
Сообщений: 3
08.12.2010, 02:16     Создание простого рисунка c while. #1
Д/3.
Мы вводим произвольную, одну из диагоналей треугольник, на эран должно вывестись следующее:
Напимер у нас размер равен 5.
что должны получить:
Все видимые линий должны быть обозначены "*".


Вот что я сумел накидать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
void main()
{
    int n,i=0,all; //
    cout<<"Input n\n";
    cin>>n;
    cout<<"\n";
    all=n*n; //это значит что квардрат равен n*n
    while(i<all)
    {
        if(i<n||i>=all-n)
            cout<<"*";
        else if(i%n==0||i%n==n-1)
            cout<<"*";
        else
            cout<<' ';
        if(i%n==n-1)
            cout<<"\n";
        i++;
    }
 
}
В данном случае выводит, только каркас квадрата.
Сорри, я может глупые вопрос задаю, но я только 5 дней, как начал заниматься. У меня вариант, что добавить переменую и присвоить ей значение n+1 и дальше после каждого его выполнения добавлять к данной переменной n+1, так как с таким шагом идёт диагональ. Но я что-то не смог это реализовать !
Миниатюры
Создание простого рисунка c while.  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mencey
 Аватар для Mencey
145 / 92 / 7
Регистрация: 22.07.2010
Сообщений: 424
08.12.2010, 16:18     Создание простого рисунка c while. #2
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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
void square(int n)
{
    int i, j;
    for(i = 0; i < n; i++)
    {
        for(j = 0; j < n; j++)
            if(i == 0 || i == n - 1 || j == 0 || j == n - 1)
                putchar('*');
            else
                putchar(' ');
        putchar('\n');
    }
}
 
int main(void)
{
    int n;
    printf("Vvedite n: ");
    scanf("%d", &n);
    square(n);
    getch();
    return 0;
}
Martens
0 / 0 / 0
Регистрация: 15.11.2010
Сообщений: 3
08.12.2010, 16:24  [ТС]     Создание простого рисунка c while. #3
Спасибо, но я совсем забыл сказать..
Что мне вообщем-то не следует использовать, то что мы ещё не проходили..
В то примере, то что я привёл, это единственное, что мы прошли..
Извините, если я вас напрягаю, но если у вас есть возможность помогите..
Нам дали, якобы подсказку, то что диагональные линии из *, возможно поставить при помощи строки. Что имею ввиду:
То что номер строки равен положению диагональных *.
Спасибо за понимание.
Mencey
 Аватар для Mencey
145 / 92 / 7
Регистрация: 22.07.2010
Сообщений: 424
08.12.2010, 16:33     Создание простого рисунка c while. #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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
int main(void)
{
        int n, i, j;;
        cout << "Vvedite n: ";
        cin >> n;
        square(n);
        /* Рисуем квадрат */
        for(i = 0; i < n; i++)
        {
                for(j = 0; j < n; j++)
                        if(i == 0 || i == n - 1 || j == 0 || j == n - 1)
                                cout << '*';
                        else
                                cout << ' ';
                cout << '\n';
        }
        /* Задержка чтобы шедевр посмотреть */
        getch();
        return 0;
}
Добавлено через 37 секунд
Код не проверял!!!
Martens
0 / 0 / 0
Регистрация: 15.11.2010
Сообщений: 3
08.12.2010, 16:35  [ТС]     Создание простого рисунка c while. #5
Спасибо... Будем разбираться.. Очень признателен !
Yandex
Объявления
08.12.2010, 16:35     Создание простого рисунка c while.
Ответ Создать тему
Опции темы

Текущее время: 23:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru