Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.68
ARM
#1

Нарисовать квадрат заданного размера - C++

08.03.2013, 18:27. Просмотров 2570. Ответов 27
Метки нет (Все метки)

Напишите программу, которая читает размер стороны квадрата и затем печатает звездочками и пробелами пустой квадрат заданного размера. Ваша программа должна работать для любых размеров, заданных в интервале 1-20. Например, если программа прочла раз¬мер 5, она должна напечатать:

* * * * *
* *
* *
* *
* * * * *
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2013, 18:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нарисовать квадрат заданного размера (C++):

В матрице из нулей и единиц найти квадрат заданного размера, состоящую целиком из нулей - C++
В матрице A (m, n), которая состоит из нулей и единиц, найти квадрат заданного размера (квадратную подматрицу), состоящую целиком из нулей ...

Нарисовать квадрат с одинокой звёздочкой в центре. Весь квадрат орисовывается плюсиками - C++
Нарисовать квадрат с одинокой звёздочкой в центре. Весь квадрат орисовывается плюсиками. Пользователь задаёт высоту и ширину.С++ Помогите...

Нарисовать квадрат - C++
Задача Написать программу, которая выводит на экран - следующую фигуру: ************* * * * * * ...

Нарисовать квадрат циклом while - C++
Нужно нарисовать квадрат типа: /* ***** * * * * * * ***** */

Графика.Как нарисовать квадрат? - C++
Собственно вопрос в теме...как нарисовать простейий квадрат с помощью линий

Нарисовать звездочками квадрат в квадрате в С++ - C++
Не могу разобраться как циклами for нарисовать звездочками (*) квадрат в квадрате. Что-то такого вида: ********** * ...

27
Черный ворон
130 / 124 / 6
Регистрация: 31.01.2012
Сообщений: 435
08.03.2013, 19:31 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream.h>
int main(){
int n=0;
cout<<"Input size of square: "<<endl;
cin>>n;
for (int i=0; i<n; i++) cout<<"*";
for (int j=0; j<n-2; j++){
cout<<endl<<"*";
for (int i=1; i<n-1; i++) cout<<" ";
cout<<"*";}
cout<<endl;
for (int i=0; i<n; i++) cout<<"*";
cout<<endl;
system("pause");
return 0;}
0
Ev[G]eN
iOS/Android Developer
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
08.03.2013, 20:53 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <iomanip>
 
int main ()
{
    const char star = '*';
    int size;
    std::cin >> size;
 
    for (int i = 0; i < size; i++)
        std::cout << star;
    std::cout << std::endl;
    
    for (int i = 0; i < size - 1; i++)
        std::cout << star << std::setw(size - 1) << star << std::endl;
    
    for (int i = 0; i < size; i++)
        std::cout << star;
    std::cout << std::endl;
 
    return 0;
}
0
MousePro
49 / 30 / 1
Регистрация: 25.04.2013
Сообщений: 366
09.06.2013, 20:44 #4
Задача: Напишите программу, которая читает размер стороны квадрата и затем печатает звездочками и пробелами пустой квадрат заданного размера. Ваша программа должна работать для любых размеров, заданных в интервале 1-20. Например, если программа прочла размер 5, она должна напечатать:
C++
1
2
3
4
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
24
25
26
27
28
29
30
31
32
33
34
#include "iostream"
#include "iomanip"
 
int main()
{
    setlocale(LC_ALL,"Russian");
 
int count;
std::cout<<"Введите размер квадрата";
std::cin >>count;
for(int k=1;k<=count;k++)
{ 
    std::cout<<"*";
}
std::cout<<"\n";
for(int j=1;j<=(count-2);j++)
{
    std::cout<<"*";
        for(int e=1;e<=(count-2);e++)
        {
            std::cout<<" ";
        }
        std::cout<<"*\n";
}
 
for(int q=1;q<=count;q++)
{ 
    std::cout<<"*";
}
std::cout<<"\n";
system ("pause");
    
    return 0;
}
Это жетский былокод?)))
0
MarVaL
С++ Beginner
117 / 117 / 16
Регистрация: 28.02.2013
Сообщений: 246
09.06.2013, 21:24 #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
24
#include <iostream>
 
int main() {
  setlocale(0, "");
  std::cout << "Введите n: ";
  int n;
  std::cin >> n;
 
  for(int i = 1; i <= n; ++i) {
    for(int j = 1; j <= n; ++j) {
      if(i == 1 || i == n)
        std::cout << "*";
      else if(j == 1 || j == n) {
        std::cout << "*";
      } else 
        std::cout << " ";
    }
    std::cout << std::endl;
  }
 
  std::cin.get();
  std::cin.get();
  return 0;
}
0
Chiter91
0 / 0 / 0
Регистрация: 09.01.2014
Сообщений: 8
02.04.2014, 21:13 #6
Cкажите, а как можно реализовать данную задачу без 'for' ?
дело в том что обучаюсь по книге Дайтелов, в четвертой главе дана эта задача, но к этому времени изучены только операторы if, if...else, while
0
fmtuner
-5 / 14 / 2
Регистрация: 16.03.2014
Сообщений: 78
02.04.2014, 21:18 #7
вместо фора вайл используй...
0
Chiter91
0 / 0 / 0
Регистрация: 09.01.2014
Сообщений: 8
02.04.2014, 21:30 #8
если не сложно, накидайте примерно как это будет выглядеть, а-то я уже не один день голову ломаю )
0
recoder
130 / 130 / 28
Регистрация: 13.09.2013
Сообщений: 260
Записей в блоге: 2
02.04.2014, 21:52 #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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
 
int main()
{
    int n;
    std::cout << "N = ";
    std::cin >> n;
    int i, y;
    i = y = 0;
 
    while (i <= n)
    {
        y = 0;
        if (i == 0 || i == n)
        {
            while (y++ != n)
                std::cout << "*";
            std::cout << std::endl;
        }
        else 
        {
            while (y <= n)
            {
                if (y == 0 || y == (n-1))
                    std::cout << "*";
                else std::cout << " ";
                y++;
            }
            std::cout << std::endl;
        }
        i++;
    }
 
    std::cin.get();
    std::cin.get();
    return 0;
}
1
Chiter91
0 / 0 / 0
Регистрация: 09.01.2014
Сообщений: 8
03.04.2014, 00:27 #10
Спасибо recoder, разобрался, чуть переделал код, убрал незнакомые мне операторы на данный момент )
C++ (Qt)
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
#include<iostream>
using std::cin;
using std::cout;
 
int main ()
{ setlocale(LC_ALL, "Russian");
   int n;
   int x = 1;
   int y = 1;
 
   cout << "Ââåäèòå Г°Г*çìåð ГЄГўГ*äðГ*ГІГ* (îò 2 äî 20): ";
   cin >> n;
   
   while ( x <= n )
   {
      y = 1;
      
      if ( x == 1 )
      {
         while ( y <= n )
         {
            cout << "*";
            y++;
         }
         cout << "\n";
      }
      
      else if ( x == n  )
      {
         while ( y <= n )
         {
            cout << "*";
            y++;
         }
         cout << "\n";
      }
         
      else
      {
         while ( y <= n )
         {
            if ( y == 1 )
            cout << "*";
            else if ( y == n )
            cout << "*\n";
            else 
            cout << " ";
            y++;
         }
      }
      x++;
   }
   system ("pause");
   return 0;
}
0
Dariaaa
0 / 0 / 0
Регистрация: 13.08.2014
Сообщений: 2
13.08.2014, 04:08 #11
я новичок в си++, но получилось как-то так)
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
#include <iostream>
using namespace std;
 
int main() {
    int n;
    int m = 1;
    int z = 1;
    int x = 1;
    int d;
    int r = 1;
    
    cout << "Enter num for n: ";
    cin >> n;
    
    while(m <= n){
        r = 1;
        d = m;
        if (m == 1){
            while(z <= n){
                cout << "*";    
                z += 1;     
        }cout << "\n";
        }
        
        if ((m != 1) && (m != n) && (d == m)){
            cout << "*";
            while (r <= n-2){
                cout << " ";
                r += 1;
            }
            cout << "*" << "\n";
        }
        
        if (m == n){
            while(x <= n){
            cout << "*";
            x += 1;
        }
        }
        m+=1;
    }
    return 0;
}
0
Dariaaa
0 / 0 / 0
Регистрация: 13.08.2014
Сообщений: 2
13.08.2014, 04:25 #12
тоже учусь по этой книге, совсем новичок, но вот, что получилось..
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
#include <iostream>
using namespace std;
 
int main() {
    int n;
    int m = 1;
    int z = 1;
    int x = 1;
    int d;
    int r = 1;
    
    cout << "Enter num for n: ";
    cin >> n;
    
    while(m <= n){
        r = 1;
        d = m;
        if (m == 1){
            while(z <= n){
                cout << "*";    
                z += 1;     
        }cout << "\n";
        }
        
        if ((m != 1) && (m != n) && (d == m)){
            cout << "*";
            while (r <= n-2){
                cout << " ";
                r += 1;
            }
            cout << "*" << "\n";
        }
        
        if (m == n){
            while(x <= n){
            cout << "*";
            x += 1;
        }
        }
        m+=1;
    }
    return 0;
}
0
BlackIce
310 / 172 / 64
Регистрация: 18.01.2014
Сообщений: 387
13.08.2014, 06:40 #13
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iomanip>
#include <iostream>
using namespace std;
 
int main() {
    cout << "n? ";
    int n;
    cin >> n;
    int x = n - 2;
    cout << setw(n) << setfill('*') << "" << endl << setfill(' ');
    while (x --> 0) cout << '*' << setw(n - 1) << '*' << endl;
    cout << setw(n) << setfill('*') << "" << endl;
    cin.sync();
    cin.get();
}
0
gru74ik
Эксперт CЭксперт С++
4196 / 1844 / 198
Регистрация: 20.02.2013
Сообщений: 4,991
Записей в блоге: 22
13.08.2014, 11:34 #14
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
void forfunc(int, char);
int main()
{
    int squareSize = 0;
    std::cout << "Enter square size: ";
    std::cin >> squareSize;
    forfunc(squareSize, '*');
    for (int i=2; i<squareSize; ++i)
        forfunc(squareSize, ' ');
    forfunc(squareSize, '*');
    return 0;
}
void forfunc(int limit, char ch)
{
    std::cout << "*";
    for (int i = 2; i < limit; i++)
        std::cout << ch;
    std::cout << "*" << std::endl;
}
0
SatanaXIII
Супер-модератор
Эксперт С++
5619 / 2654 / 247
Регистрация: 01.11.2011
Сообщений: 6,553
Завершенные тесты: 1
13.08.2014, 11:36 #15
Что такие скучные?
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
//---------------------------------------------------------------------------
#include <conio.h>
//---------------------------------------------------------------------------
void stamping( unsigned x, unsigned y, char who )
{
  gotoxy( x, y );
  putch( who );
}
//---------------------------------------------------------------------------
int main()
{
const unsigned n          = 10,
               borderSize = 3,
               symbolKod  = 42;
unsigned i, ns /*number scroll*/;
 
for( ns=1; ns<n && ns <= borderSize; ns++ )
  {
  for( i=ns;    i<n-ns+2; i++ ) stamping( i,      ns,     symbolKod );
  for( i=ns;    i<n-ns+1; i++ ) stamping( n-ns+1, i+1,    symbolKod );
  for( i=n-ns;  i>=ns;    i-- ) stamping( i,      n-ns+1, symbolKod );
  for( i=n-ns-1;i>=ns;    i-- ) stamping( ns,     i+1,    symbolKod );
  }
 
getch();
return 0;
}
//---------------------------------------------------------------------------
0
13.08.2014, 11:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.08.2014, 11:36
Привет! Вот еще темы с ответами:

Нарисовать квадрат на C++ (желательно для компилятора Dev C++) - C++
Всем привет! Надо нарисовать квадрат размером 20 на 20 пикселей красного цвета с координатами x - 100, y - 200 в окне размером 300 на 500...

Как вывести точку и нарисовать квадрат? - C++
Хотел бы узнать как мне в моей ОС на C++/C работать с графикой ибо интернете я нормального описания не нашёл. Как вывести точку и...

Нарисовать в левом углу экрана сплошной квадрат из звездочек - C++
Напишите программу, которая отображает в левом углу экрана сплошной квадрат со звездочек, сторона которого указана целым параметром size....

Выведено изображение, нужно на нем нарисовать по фигуру (квадрат, круг) - C++
Выведено изображение, нужно на нем нарисовать по фигуру (квадрат, круг). размер и положение я должен выбрать.


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

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

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