Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.77/47: Рейтинг темы: голосов - 47, средняя оценка - 4.77
1 / 1 / 0
Регистрация: 20.07.2014
Сообщений: 11
1

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

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

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

* * * * *
* *
* *
* *
* * * * *
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.03.2013, 18:27
Ответы с готовыми решениями:

Подпрограмма: Построить "квадрат" из знаков '*' заданного размера...
Привет! Не могу додуматься как бы решить. Напишите программу, которая строит "квадрат" из знаков...

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

Нарисовать квадрат с одинокой звёздочкой в центре. Весь квадрат орисовывается плюсиками
Нарисовать квадрат с одинокой звёздочкой в центре. Весь квадрат орисовывается плюсиками. ...

Узнать, возможно ли пронести холодильник заданного размера через дверной проём указанного размера
Описание: Размеры холодильника A x B x C. Возможно ли его пронести через дверной проем размерами X...

27
138 / 132 / 57
Регистрация: 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
Mobile Software Engineer
Эксперт С++
5381 / 1585 / 956
Регистрация: 23.01.2011
Сообщений: 3,214
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
50 / 31 / 4
Регистрация: 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
С++ Beginner
120 / 120 / 77
Регистрация: 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
0 / 0 / 0
Регистрация: 09.01.2014
Сообщений: 8
02.04.2014, 21:13 6
Cкажите, а как можно реализовать данную задачу без 'for' ?
дело в том что обучаюсь по книге Дайтелов, в четвертой главе дана эта задача, но к этому времени изучены только операторы if, if...else, while
0
-5 / 14 / 2
Регистрация: 16.03.2014
Сообщений: 78
02.04.2014, 21:18 7
вместо фора вайл используй...
0
0 / 0 / 0
Регистрация: 09.01.2014
Сообщений: 8
02.04.2014, 21:30 8
если не сложно, накидайте примерно как это будет выглядеть, а-то я уже не один день голову ломаю )
0
135 / 134 / 53
Регистрация: 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
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
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
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
317 / 179 / 73
Регистрация: 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
Модератор
Эксперт CЭксперт С++
5284 / 2371 / 342
Регистрация: 20.02.2013
Сообщений: 5,770
Записей в блоге: 20
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
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
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
Модератор
Эксперт CЭксперт С++
5284 / 2371 / 342
Регистрация: 20.02.2013
Сообщений: 5,770
Записей в блоге: 20
13.08.2014, 11:39 16
SatanaXIII, чё-то у меня твой код не компилится ((
0
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
13.08.2014, 11:42 17
gru74ik, мож не винда?
0
Модератор
Эксперт CЭксперт С++
5284 / 2371 / 342
Регистрация: 20.02.2013
Сообщений: 5,770
Записей в блоге: 20
13.08.2014, 11:45 18
Цитата Сообщение от SatanaXIII Посмотреть сообщение
gru74ik, мож не винда?
Windows XP, Code::Blocks + MinGW 4.8.1
0
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
13.08.2014, 11:46 19
В VS (у меня VS 2008) нет функции gotoxy()
0
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
13.08.2014, 11:48 20
Цитата Сообщение от gru74ik Посмотреть сообщение
чё-то у меня твой код не компилится
Обычно в таких случаях наступает короткая перепалка, сводящаяся моралью к тому, что надо текст ошибки хоть приводить, или пространные мысли о происходящем, если это не укладывается в понятие ошибки, иначе беседа плавно перерастет в потусторонне-телепатическую область.
0
13.08.2014, 11:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.08.2014, 11:48
Помогаю со студенческими работами здесь

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

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

Нарисовать квадрат из звездочек
int N; cin &gt;&gt; N; for (int i=0;i&lt;=N;i++) for (int j=0;j&lt;=N;j++) ...

Нарисовать квадрат звездочками
Нужно сделать цикл for, чтобы он рисовал квадрат звездочкой &quot;*&quot;, должно получиться что-то типа...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru