Совсем недавно начал изучать с++ , поэтому не судите строго .
Есть задача , которая должна вывести ромб , с задачей я справился , но теперь есть другое задание - написать эту задачу в 2 цикла ( без вложенных )
В принципе , как сделать это , я +- понимаю , но хотелось бы увидеть примеры от вас .
Спасибо за ответы и понимание .
#include <iostream>
using namespace std;
int main() {
int n = 10;
for (int i = n; i >= 1; i--) {
for (int j = 1; j <= n - i; j++) {
cout << " ";
}
for (int j = 1; j <= 2 * i - 1; j++) {
cout << "*";
}
cout << endl;
}
for (int i = 2; i <= n; i++) {
for (int j = 1; j <= n - i; j++) {
cout << " ";
}
for (int j = 1; j <= 2 * i - 1; j++) {
cout << "*";
}
cout << endl;
}
return 0;
}
#include <iostream>
using namespace std;
int main() {
int n = 10;
for (int i = n; i >= 1; i--) {
for (int j = 1; j <= n - i; j++) {
cout << " ";
}
for (int j = 1; j <= 2 * i - 1; j++) {
cout << "*";
}
cout << endl;
}
for (int i = 2; i <= n; i++) {
for (int j = 1; j <= n - i; j++) {
cout << " ";
}
for (int j = 1; j <= 2 * i - 1; j++) {
cout << "*";
}
cout << endl;
}
System("pause");
}
Благодарю за ответ и помощь , вся проблема в том , что мне нужен код без вложенных циклов . Но спасибо!Two цикл:#include <iostream> using namespace std; int main() { int n = 10; for (int i = n; i >= 1; i--) { for (int j = 1; j <= n - i; j++) { cout << " "; } for (int j = 1; j <= 2 * i - 1; j++) { cout << "*"; } cout << endl; } for (int i = 2; i <= n; i++) { for (int j = 1; j <= n - i; j++) { cout << " "; } for (int j = 1; j <= 2 * i - 1; j++) { cout << "*"; } cout << endl; } System("pause"); }
Благодарю за ответ и помощь , вся проблема в том , что мне нужен код без вложенных циклов . Но спасибо!
#include <iostream>
using namespace std;
int main() {
int n = 10;
for (int i = 1; i <= n; i++) {
cout << string(n - i, ' '); // Вывести пробелы
cout << string(2 * i - 1, '*') << endl; // Вывести звезды
}
for (int i = n - 1; i >= 1; i--) {
cout << string(n - i, ' '); // Вывести пробелы
cout << string(2 * i - 1, '*') << endl; // Вывести звезды
}
System("pause");
}
Ты вообще проверяешь код? Высер чатгпт который не воркаетЦикл:#include <iostream> using namespace std; int main() { int n = 10; for (int i = 1; i <= n; i++) { cout << string(n - i, ' '); // Вывести пробелы cout << string(2 * i - 1, '*') << endl; // Вывести звезды } for (int i = n - 1; i >= 1; i--) { cout << string(n - i, ' '); // Вывести пробелы cout << string(2 * i - 1, '*') << endl; // Вывести звезды } System("pause"); }
Только что проверялТы вообще проверяешь код? Высер чатгпт который не воркает
Ладно, зря быканулТолько что проверял
Спасибо большое за помощь! Вышел на правильную мысль .Цикл:#include <iostream> using namespace std; int main() { int n = 10; for (int i = 1; i <= n; i++) { cout << string(n - i, ' '); // Вывести пробелы cout << string(2 * i - 1, '*') << endl; // Вывести звезды } for (int i = n - 1; i >= 1; i--) { cout << string(n - i, ' '); // Вывести пробелы cout << string(2 * i - 1, '*') << endl; // Вывести звезды } System("pause"); }
int n = 10;
for (int i = -n + 1; i < n; i++) {
int j = std::abs(i);
std::cout << std::string(j, ' ') << std::string(2 * (n - j) - 1, '*') << std::endl;
}
#include <iostream>
using namespace std;
void f(int n, int i) {
if (i==n*n) return;
int r=i/n, c=i%n, x=n-1, h=x/2;
cout<<(i && !c ? "\n" : "");
cout<<((r+c-h) * (r+c-2*x+h) * (r-c-x+h) * (c-r-x+h) ? ' ' : '*');
f(n, i+1);
}
int main() {
int n; cin>>n; f(n,0); return 0; }
код простоI'll
линейно-итеративный алгоритм через хвостовую рекурсиюC++:#include <iostream> using namespace std; void f(int n, int i) { if (i==n*n) return; int r=i/n, c=i%n, x=n-1, h=x/2; cout<<(i && !c ? "\n" : ""); cout<<((r+c-h) * (r+c-2*x+h) * (r-c-x+h) * (c-r-x+h) ? ' ' : '*'); f(n, i+1); } int main() { int n; cin>>n; f(n,0); return 0; }
#include <iostream>
using namespace std;
int main() {
int n = 10;
for (int i = 1 - n; i < n; i++) {
int spaces = abs(i);
int stars = 2 * (n - spaces) - 1;
for (int j = 0; j < spaces; j++) {
cout << " ";
}
for (int j = 0; j < stars; j++) {
cout << "*";
}
cout << endl;
}
return 0;
}
#include <iostream>
#include <string>
using namespace std;
int main() {
int n = 10;
for (int i = -n + 1; i < n; i++) {
int spaces = abs(i);
int stars = 2 * (n - spaces) - 1;
string spaceStr(spaces, ' ');
string starStr(stars, '*');
cout << spaceStr << starStr << endl;
}
return 0;
}
#include <iostream>
#include <string>
#include <algorithm>
#include <numeric>
#include <vector>
using namespace std;
int main() {
int n = 10;
auto print_row = [&n](int i) {
int spaces = abs(i);
int stars = 2 * (n - spaces) - 1;
cout << string(spaces, ' ') << string(stars, '*') << endl;
};
vector<int> rows(2 * n - 1);
iota(rows.begin(), rows.end(), -n + 1);
for_each(rows.begin(), rows.end(), print_row);
return 0;
}
ChatGPTall in 1 loop:
to further improve this you could do this however:Код:#include <iostream> using namespace std; int main() { int n = 10; for (int i = 1 - n; i < n; i++) { int spaces = abs(i); int stars = 2 * (n - spaces) - 1; for (int j = 0; j < spaces; j++) { cout << " "; } for (int j = 0; j < stars; j++) { cout << "*"; } cout << endl; } return 0; }
in c++20:Код:#include <iostream> #include <string> using namespace std; int main() { int n = 10; for (int i = -n + 1; i < n; i++) { int spaces = abs(i); int stars = 2 * (n - spaces) - 1; string spaceStr(spaces, ' '); string starStr(stars, '*'); cout << spaceStr << starStr << endl; } return 0; }
Код:#include <iostream> #include <string> #include <algorithm> #include <numeric> #include <vector> using namespace std; int main() { int n = 10; auto print_row = [&n](int i) { int spaces = abs(i); int stars = 2 * (n - spaces) - 1; cout << string(spaces, ' ') << string(stars, '*') << endl; }; vector<int> rows(2 * n - 1); iota(rows.begin(), rows.end(), -n + 1); for_each(rows.begin(), rows.end(), print_row); return 0; }
базаНа Rust надо писать
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz