Честно, не поняла ваш код вообще. Почему нет цикла? Предлагаю свое решение: 1)Cначала заполняем массив случайными числами от 2 до 5 (включительно) 2)Потом выводим его (Для проверки) 3) Потом считаем оценки. Но сначала нужно обнулить переменные( В самом начале это делали), а то получится кака (:
program N_0547847; var b, c, d, f, i:integer; a: array [1..20] of integer; begin; randomize; b:=0; c:=0; d:=0; f:=0; for i:=1 to 20 do begin a[i]:=random(4)+2; write(a[i],' '); end; writeln; for i:=1 to 20 do begin if a[i]=2 then b:=b+1; if a[i]=3 then c:=c+1; if a[i]=4 then d:=d+1; if a[i]=5 then f:=f+1; end; writeln('Двоек: ', b); writeln('Троек: ', c); writeln('Четверок: ',d); writeln('Пятерок: ',f); end.
#include <iostream>
#include <string>
using namespace std;
void makeLevel(int n)
{
cout << "*" << endl;
string out ="**";
for(int level=1;level<=n;++level){
cout << out << endl;
out.push_back('*');
}
}
void tree(int n)
{
for(int i=1;i<=n;++i){
makeLevel(i);
}
}
{
cout << "*" << endl;
string out ="**";
for(int level=1;level<=n;++level){
cout << out << endl;
out.push_back('*');
}
}
void tree(int n)
{
for(int i=1;i<=n;++i){
makeLevel(i);
}
}
int main()
{
int n;
cin >> n;
tree(n);
return 0;
}
Объяснение: