Вывести квадрат из звездочек - 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;
}