Другие языки программирования и технологии

Пожалуйста помогите кто разбирается с С++, заранее большое спасибо

нужно написать программу, которая выводит квадратик из звёздочек со сторонами А и Б, причём он должен быть пустой (рамочка из звёздочек) У меня получилось что-то вроде этого, но конечно не работает:) #include "stdafx.h" #include "iostream" int _tmain(int argc, _TCHAR* argv[]) { int a, b; std::cin >> a >> b; int i=a; while (i>0) { int j=b; while (j>0) { if (j==1 || j==b) { std::cout << "*"; }else std::cout << " "; j--; } if (i==1 || i==a) { std::cout << "*"; }else std::cout << " "; std::cout << std::endl; i--; } return 0;
int x = 50, y = 20;
for (int i = 0; i < y; i++)
{
for (int j = 0; j < x; j++)
{
char ch = (i == 0 || j == 0 || i == (y-1) || j == (x-1)) ? '*' : ' ';
cout << ch;
}
cout << '\n';
}
Александр Ищенко
Александр Ищенко
21 360
Лучший ответ
с учетом кривости данного ресурса, обозначу квадрытные скобки как символ |

#include "stdafx.h"
#include "iostream"
#include <conio.h>

int _tmain(int argc, _TCHAR* argv[])
{
int a = 0, b = 0;

printf("Please set A value: ");
scanf("%i", &a);

printf("Please set B value: ");
scanf("%i", &b);

for (int i = 0; i < a; i++)
printf("*");

printf("\n");

char* str = new char |b|;

for (int i = 0; i < b; i++)
{
if (i == 0 || i == b - 1)
str|i| = '*';
else
str|i| = ' ';
}

str|b| = '\0';

for (int i = 0; i < b; i++)
printf("%s\n", str);

for (int i = 0; i < a; i++)
printf("*");

getch();
}

как-то так. теоритически это удовлетворяет твоему заданию
NA
Nurlan Abdikarimov
4 338
Извините что то криво в ответах переводит код, работает с двумерным массивом
#include <iostream>
#include <conio.h>

using namespace std;

int main()
{
int a, b;
cin >> a >> b;

char **mas = new char*[a];

for (int i = 0; i < a; i++)
{
mas = new char ;
for (int j = 0; j < b; j++)
{
if ((j == 0) || (j == b-1) || (i == 0) || (i == a-1))
{
mas [j] = '*';
}
else
{
mas [j] = ' ';
}
cout << mas [j];
}
cout << endl;
}

getch();

return 0;
}
Полад Шукюрлу
Полад Шукюрлу
2 950

Похожие вопросы