Вывести квадрат из звездочек - C (СИ)

Узнай цену своей работы

Формулировка задачи:

ПРЕДзадача.

Х Дейтел П Дейтел КАК ПРОГРАМИРОВАТЬ НА C .№ 3.33

Напишите программу,которая считывает размер стороны квадрата и затем выводит этот квадрат в виде звездочек.Ваша программа должна работать для всех квадратов с размерами сторон между 1 и 20.Например,если ваша программа считывает размер,равный 4,она должна вывести **** **** **** ****
#include <stdio.h>
 
main()
{
      int i, k=0, 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;
            while (m<=i){
                  printf("%s", "*");
                  ++m;
                  }
                  printf("\n");
                  ++k;
                  }   
                  
      scanf("%*c");
      
      return 0;
      }
//i-число,k-строчка,m-столбец(ну как бы столбец)

Сама задача.№3.34

Измените программу,которую вы написали в упражнении 3.33 так,чтобы она выводила полый квадрат.Например,если ваша программа считывает размер ,равный 5,она должна вывести ***** ***** ***** ***** *****

Уровень начинающего

/на 3 главе

Вопрос

по задаче 3.33,строчка 11,можно ли в условие while запихивать 2 условия и более? Есть ли более красивые способы сделать ограничение на вводимое значение?(уровень начинающего)

Вопрос

/решение задачи 3.34 .Можно без кода,просто объяснить как в цикле сделать. /на пальцах если возможно с использованием операции ( ?: )

Решение задачи: «Вывести квадрат из звездочек»

textual
Листинг программы
// Программа рисует квадрат звездочками с заданной стороной
#include<iostream>
using namespace std;
int main ()
{
  cout << "Программа рисует квадрат звездочками с заданной стороной\n";
  cout << "Введите сторону квадрата\n";
  int a;
  cin >> a;
  for (int i = 1; i <= a; i++)
  {
    for (int j = 1; j <= a; j++)
    {
      if ((i == 1) or (i == a))
        cout << "* ";
      if (((i != 1) and (i != a)) and ((j == 1) or (j == a)))
        cout << "* ";
      if (((i != 1) and (i != a)) and ((j != 1) and (j != a)))
        cout << "@ "; 
    }
    cout << "\n";
  }
  return 0;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.571 из 5
Похожие ответы