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

Программа, которая читает сторону квадрата и рисует его звездочками и пробелами - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.88
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
22.08.2011, 22:38     Программа, которая читает сторону квадрата и рисует его звездочками и пробелами #1
Напишите программу с ООП подходом, которая читает размер стороны квадрата и затем печатает
звездочками и пробелами пустой квадрат заданного размера. Ваша программа
должна работать для любых размеров, заданных в интервале 1-20.
Например, если программа прочла размер 5, она должна напечатать:

*****
*----*
*----*
*----*
*****

там где тире - это пробелы ( без тире звёздочки смещаются )
Что то вообще даже не знаю как сделать это, прошел только if else и while

В атаче ещё одна задача
Миниатюры
Программа, которая читает сторону квадрата и рисует его звездочками и пробелами  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.08.2011, 22:38     Программа, которая читает сторону квадрата и рисует его звездочками и пробелами
Посмотрите здесь:

C++ программа которая рисует 4 треугольника слева на право
Программа читает свой текст и обрабатывает его по заданному в варианте условию C++
C++ Написать программу, которая рисует на экране грустную рожицу
C++ Написать программу, которая по последней цифре числа позволяет определить последнюю цифру его квадрата
Напишите программу с циклами, которая рисует равнобедренный треугольник звездочками C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
22.08.2011, 23:49     Программа, которая читает сторону квадрата и рисует его звездочками и пробелами #2
подобная задача рассматривались недавно - ищи
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
23.08.2011, 00:03  [ТС]     Программа, которая читает сторону квадрата и рисует его звездочками и пробелами #3
поиск вещь!
вот такой код есть, только он не понятный, например scanf("%d", &i); scanf("%*c"); и другое ...
да ещё и ошибка выскакивает
error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию

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
#include <stdio.h>
main()
{
      int i, k=1, m;
      
      printf("Wwedite 4islo: ");
      scanf("%d", &i);
      scanf("%*c");
      
      while (i<1 || i>20){
      printf("Wwedite 4islo ot 1 do 20: ");
      scanf("%d", &i);
      scanf("%*c");}
      
      
      while (k<=i){
            m=1;
            
            if (k==1 || k==i){
                     while (m<=i){
                           printf("%s", "*");
                           ++m;
                           }
                  
            }
            else{
                 while (m<=i){
                       if (m==1 || m==i)
                       printf("%s", "*");
                       else
                       printf("%s", " ");
                       ++m;
                       }
            }
            
            printf("\n");
            ++k;
            }   
      scanf("%*c");
      
      return 0;
      }
skaa
Хочу в Исландию
 Аватар для skaa
1024 / 823 / 75
Регистрация: 10.11.2010
Сообщений: 1,626
23.08.2011, 00:39     Программа, которая читает сторону квадрата и рисует его звездочками и пробелами #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
#include    <stdio.h>
class   SquareL
{
private:
    int Ql;
public:
    SquareL()
    {
    }
    SquareL(int ql)
    {
        if(ql<1)
            ql=1;
        if(ql>20)
            ql=20;
        Ql=ql;
    }
    void    printSquareL()
    {
        int jl,jc;
 
        for(jl=1;jl<=Ql;jl++)
        {
            if(jl==1||jl==Ql)
            {
                for(jc=1;jc<=Ql;jc++)
                    printf("*");
            }
            else
            {
                for(jc=1;jc<=Ql;jc++)
                {
                    if(jc==1||jc==Ql)
                        printf("*");
                    else
                        printf("-");
                }
            }
            printf("\n");
        }
    }
};
void    main()
{
    int ql;
    SquareL *oi;
 
    printf("Size (integer 1-20): ");scanf("%d",&ql);
 
    oi=new SquareL(ql);
    oi->printSquareL();
    delete oi;
}
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
23.08.2011, 00:42  [ТС]     Программа, которая читает сторону квадрата и рисует его звездочками и пробелами #5
спасибо, работает, а можно с комментариями? пожалуйста
skaa
Хочу в Исландию
 Аватар для skaa
1024 / 823 / 75
Регистрация: 10.11.2010
Сообщений: 1,626
23.08.2011, 01:11     Программа, которая читает сторону квадрата и рисует его звездочками и пробелами #6
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
#include    <stdio.h>
class   SquareL
{
private:
    int Ql; //Размер квадрата
public:
    SquareL()   //Конструктор класса
    {
    }
    SquareL(int ql) //Перегруженный конструктор класса с параметром
    {
        if(ql<1)
            ql=1;
        if(ql>20)
            ql=20;
        Ql=ql;
    }
    void    printSquareL()  //Метод - вывод на экран
    {
        int jl,jc;
 
        for(jl=1;jl<=Ql;jl++)   //Горизонтальные линии
        {
            if(jl==1||jl==Ql)
            {
                for(jc=1;jc<=Ql;jc++)   //Ветрикальные 1-я и последняя линии
                    printf("*");
            }
            else
            {
                for(jc=1;jc<=Ql;jc++)   //Ветрикальные остальные линии
                {
                    if(jc==1||jc==Ql)
                        printf("*");
                    else
                        printf("-");
                }
            }
            printf("\n");
        }
    }
};
void    main()
{
    int ql;
    SquareL *oi;
 
    printf("Size (integer 1-20): ");scanf("%d",&ql);    //Вводим размер квадрата
 
    oi=new SquareL(ql); //Создаём объект класса SquareL
    oi->printSquareL(); //Вызываем метод класса SquareL который печатает квадрат
    delete oi;  //Удаляем объект
}
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
04.10.2011, 23:27  [ТС]     Программа, которая читает сторону квадрата и рисует его звездочками и пробелами #7
Такая же задача тока с квадратом таким(Без ооп подхода) например напечатать:
****
****
****
****
Сделал, тока выводит в вертикальную линию, понять не могу вроде как вывод матрицы работает цикл в цикле, но выводит не правильно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
using namespace std;
int main()
{
        locale::global(locale("rus"));
        int side = 0;
        cin >> side;
        for(int i = 0; i<side; i++)
        {
            for(int j = 0; j<side;j++)
            {
                cout << "*" << endl;
            }
        }
        system("PAUSE");
        return 0;
}
Добавлено через 1 час 40 минут
хелп )
skaa
Хочу в Исландию
 Аватар для skaa
1024 / 823 / 75
Регистрация: 10.11.2010
Сообщений: 1,626
05.10.2011, 01:23     Программа, которая читает сторону квадрата и рисует его звездочками и пробелами #8
Основной цикл следует заменить на
C++
1
2
3
4
5
6
    for(int i=0;i<side;i++)
    {
        for(int j=0;j<side;j++)
            printf("*");
        printf("\n");
    }
или что-то подобное.
KeyGen
 Аватар для KeyGen
333 / 289 / 6
Регистрация: 07.08.2011
Сообщений: 789
Записей в блоге: 1
05.10.2011, 01:54     Программа, которая читает сторону квадрата и рисует его звездочками и пробелами #9
Вот вторая задачка.
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;
    
int main()
{
    int k=0,l=2;
    
    for(int i=0; i<64; i++){
            
    if (k==8)
    {cout << endl; k=0; l++;}
    
    if (l==2)
    {cout << ' ';l=0;}
    
    cout << "* ";
    k++;
}
 
    cout << endl;
    system("PAUSE");
    return 0;
}
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
05.10.2011, 02:19     Программа, которая читает сторону квадрата и рисует его звездочками и пробелами #10
хеловорд очередной
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
 
int main(void){
    int side, i, j;
    
    printf("Size of side: ");
    scanf("%d", &side);
    
    for ( i = 0; i < side; ++i )
        for ( j = 0; j < side + 1; ++j )
            printf("%c", ( ( i == 0 || i == side - 1 ) && ( j < side ) || j == 0 || j == side - 1 ) ? '*' : ( j == side ) ? '\n' : ' ');
    
    return 0;
}
TBIKC
web dev
 Аватар для TBIKC
104 / 91 / 1
Регистрация: 23.09.2010
Сообщений: 738
05.10.2011, 06:11  [ТС]     Программа, которая читает сторону квадрата и рисует его звездочками и пробелами #11
Господь мой бог, обьясните пожалуйста 11 строку ( код до звёздочки )
Цитата Сообщение от easybudda Посмотреть сообщение
хеловорд очередной
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
 
int main(void){
    int side, i, j;
    
    printf("Size of side: ");
    scanf("%d", &side);
    
    for ( i = 0; i < side; ++i )
        for ( j = 0; j < side + 1; ++j )
            printf("%c", ( ( i == 0 || i == side - 1 ) && ( j < side ) || j == 0 || j == side - 1 ) ? '*' : ( j == side ) ? '\n' : ' ');
    
    return 0;
}
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
05.10.2011, 09:27     Программа, которая читает сторону квадрата и рисует его звездочками и пробелами #12
Цитата Сообщение от TBIKC Посмотреть сообщение
Господь мой бог, обьясните пожалуйста 11 строку ( код до звёздочки )
Лестно, конечно, но нескромно как-то...
На самом деле там всё просто: если i = 0 или i = size - 1, то есть если строка первая или последняя, при этом j меньше size (можно сказать пока курсор не выходит за пределы квадрата), или j - первый или последний столбец, выводить звёздочку, иначе если j равно size, то есть курсор за квадратом - выводить символ перевода строки, иначе вывести пробел. Результативного осмысления...
alhimi4ek
0 / 0 / 0
Регистрация: 11.10.2010
Сообщений: 9
20.10.2011, 10:30     Программа, которая читает сторону квадрата и рисует его звездочками и пробелами #13
а как сделать чтобы ещё звёздочку в центре если сторона не четная? помогите плиз, тока её над в visual c++
potato
Сообщений: n/a
31.10.2012, 22:03     Программа, которая читает сторону квадрата и рисует его звездочками и пробелами #14
Если не ошибаюсь это упражнение 4.25 из книги "Как программировать на с++".
Pешение без ооп:

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
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
 
int main()
{
    int size, i = 0, j = 0;
 
    cout << "Enter square size (integer between 1 and 20): ";
    cin >> size;
 
    if (size > 0 && size <= 20)
    {
        while (i < size)
        {
            j = 0;
            while (j < size)
            {
                if ((j == 0 || j == size - 1) || (i == 0 || i == size - 1))
                    cout << "*";
                else
                    cout << " ";
                ++j;
            }
            ++i;
            cout << endl;
        }
    } else {
        cout << "Size of Square must be betweet 1 and 20 asterix.";
    }
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.03.2013, 05:09     Программа, которая читает сторону квадрата и рисует его звездочками и пробелами
Еще ссылки по теме:

Площадь квадрата равна S. Вычислить сторону квадрата а, диагональ d и площадь S1 описанного около этого квадрата круга C++
Ввести сторону квадрата a. Вычислить площадь вписанной окружности C++
Не читает файл в папке дебаг. Уже везде его пихал, а программа не работает C++

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

Или воспользуйтесь поиском по форуму:
Geldor
1 / 1 / 0
Регистрация: 03.06.2009
Сообщений: 8
12.03.2013, 05:09     Программа, которая читает сторону квадрата и рисует его звездочками и пробелами #15
Цитата Сообщение от potato Посмотреть сообщение
if ((j == 0 || j == size - 1) || (i == 0 || i == size - 1))
Подскажите, что означает || и &&? Насчет второго, я понял что это типа "и", но почему аж два знака?
Yandex
Объявления
12.03.2013, 05:09     Программа, которая читает сторону квадрата и рисует его звездочками и пробелами
Ответ Создать тему
Опции темы

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