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

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.68
ARM
Сообщений: n/a
08.03.2013, 18:27     Нарисовать квадрат заданного размера #1
Напишите программу, которая читает размер стороны квадрата и затем печатает звездочками и пробелами пустой квадрат заданного размера. Ваша программа должна работать для любых размеров, заданных в интервале 1-20. Например, если программа прочла раз¬мер 5, она должна напечатать:

* * * * *
* *
* *
* *
* * * * *
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Черный ворон
129 / 123 / 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;}
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 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;
}
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;
}
Это жетский былокод?)))
MarVaL
С++ Beginner
 Аватар для MarVaL
116 / 116 / 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;
}
Chiter91
0 / 0 / 0
Регистрация: 09.01.2014
Сообщений: 8
02.04.2014, 21:13     Нарисовать квадрат заданного размера #6
Cкажите, а как можно реализовать данную задачу без 'for' ?
дело в том что обучаюсь по книге Дайтелов, в четвертой главе дана эта задача, но к этому времени изучены только операторы if, if...else, while
fmtuner
-5 / 14 / 2
Регистрация: 16.03.2014
Сообщений: 78
02.04.2014, 21:18     Нарисовать квадрат заданного размера #7
вместо фора вайл используй...
Chiter91
0 / 0 / 0
Регистрация: 09.01.2014
Сообщений: 8
02.04.2014, 21:30     Нарисовать квадрат заданного размера #8
если не сложно, накидайте примерно как это будет выглядеть, а-то я уже не один день голову ломаю )
recoder
 Аватар для recoder
129 / 129 / 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;
}
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;
}
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;
}
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;
}
BlackIce
309 / 171 / 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();
}
gru74ik
Модератор
 Аватар для gru74ik
3120 / 1346 / 167
Регистрация: 20.02.2013
Сообщений: 3,841
Записей в блоге: 17
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;
}
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5548 / 2562 / 233
Регистрация: 01.11.2011
Сообщений: 6,334
Завершенные тесты: 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;
}
//---------------------------------------------------------------------------
gru74ik
Модератор
 Аватар для gru74ik
3120 / 1346 / 167
Регистрация: 20.02.2013
Сообщений: 3,841
Записей в блоге: 17
13.08.2014, 11:39     Нарисовать квадрат заданного размера #16
SatanaXIII, чё-то у меня твой код не компилится ((
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5548 / 2562 / 233
Регистрация: 01.11.2011
Сообщений: 6,334
Завершенные тесты: 1
13.08.2014, 11:42     Нарисовать квадрат заданного размера #17
gru74ik, мож не винда?
gru74ik
Модератор
 Аватар для gru74ik
3120 / 1346 / 167
Регистрация: 20.02.2013
Сообщений: 3,841
Записей в блоге: 17
13.08.2014, 11:45     Нарисовать квадрат заданного размера #18
Цитата Сообщение от SatanaXIII Посмотреть сообщение
gru74ik, мож не винда?
Windows XP, Code::Blocks + MinGW 4.8.1
zss
Модератор
Эксперт С++
 Аватар для zss
5948 / 5553 / 1785
Регистрация: 18.12.2011
Сообщений: 14,188
Завершенные тесты: 1
13.08.2014, 11:46     Нарисовать квадрат заданного размера #19
В VS (у меня VS 2008) нет функции gotoxy()
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.08.2014, 11:48     Нарисовать квадрат заданного размера
Еще ссылки по теме:

Нарисовать квадрат на C++ (желательно для компилятора Dev C++) C++
C++ Возвести в квадрат все локальные минимумы заданного массива
C++ Нарисовать звездочками квадрат в квадрате в С++

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

Или воспользуйтесь поиском по форуму:
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5548 / 2562 / 233
Регистрация: 01.11.2011
Сообщений: 6,334
Завершенные тесты: 1
13.08.2014, 11:48     Нарисовать квадрат заданного размера #20
Цитата Сообщение от gru74ik Посмотреть сообщение
чё-то у меня твой код не компилится
Обычно в таких случаях наступает короткая перепалка, сводящаяся моралью к тому, что надо текст ошибки хоть приводить, или пространные мысли о происходящем, если это не укладывается в понятие ошибки, иначе беседа плавно перерастет в потусторонне-телепатическую область.
Yandex
Объявления
13.08.2014, 11:48     Нарисовать квадрат заданного размера
Ответ Создать тему
Опции темы

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