Мне нужна . Я написала программу, но мне в защите нужно, чтобы вывело "Учебные заведения заняли одинаковое кол-во призовых мест". С++ На олимпиаде по информатике на участников (7) заполнялись анкеты: фамилия, имя, название учебного заведения, номер группы, занятое место. Напечатать какое учебное заведение заняло больше всех призовых мест
#include
#include
#include
using namespace std;
struct olimpiada
{
string fam;
string im;
string uch;
int nom;
int prize;
};
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int n;
cout << "Введите кол-во участников:" << endl;
cin >> n;
int i, j;
olimpiada* olimp = new olimpiada[n];
for (i = 0; i < n; i++)
{
cout << "Введите фамилию:" << endl;
cin >> olimp[i].fam;
cout << "Введите имя:" << endl;
cin >> olimp[i].im;
cout << "Введите название учебного заведения:" << endl;
cin >> olimp[i].uch;
cout << "Введите номер группы:" << endl;
cin >> olimp[i].nom;
cout << "Введите номер места:" << endl;
cin >> olimp[i].prize;
cout << endl;
}
cout << "Информация об олимпиаде:" << endl;
cout << "\nФамилия Имя Название учебного заведения Группа Номер места " << endl;
for (i = 0; i < n; i++)
{
cout << olimp[i].fam << setw(21) << olimp[i].im << setw(21) << olimp[i].uch << setw(21) << olimp[i].nom << setw(21) << olimp[i].prize;
cout << endl;
}
int k = 0;
for (i = 0; i < n; i++)
if (olimp[i].prize <= 3)
{
k++;
if (k == 0)
cout << "Учебного заведения, занявшего больше призовых мест, нет" << endl;
else
{
cout << "\nУчебное заведение, занявшее больше призовых мест: " << olimp[i].uch << endl;
break;
}
}
}
#include<math>
int maximal(int n, double R0[]){
int i,f;
f=0.0;
for(i=0;i<n-1;i++){
if(R0[i+1]>R0[i]) f=i+1;
}
return f;
}
void main(){
int i,j,n,f,k,iter;
double S,det;
cout<<"Vvedite razmer kvadratnoy matrici= ";
cin>>n;
double *x=new double [n];
double **b=new double *[n];
for(i=0;i<n;i++)
b[i]=new double[n+1];
double **a=new double *[n];
for(i=0;i<n;i++)
a[i]=new double[n+1];
cout<<"Vvedite kolichestvo iteraciy:";
cin>>iter;
cout<<"Vvedite matritcu";
for(i=0;i<n;i++){
for(j=0;j<=n;j++)
cin>>b[i][j];
}
cout<<"podgotovka k relaksatcii...\n";
for(i=0;i<n;i++){
for(j=0;j<n;j++)
a[i][j]=-b[i][j]/b[i][i];
a[i][n]=b[i][n]/b[i][i];
}
for(i=0;i<n;i++){
for(j=0;j<n+1;j++)
cout<<" "<<a[i][j]<<" || ";
cout<<"\n";
}
double *x0=new double [n];
for(i=0;i<n;i++)
x[i]=0.0;
double *R0=new double [n];
cout<<"Vvedite znachenie nachal`nih priblizheniy:\n";
for(i=0;i<n;i++)
cin>>x0[i];
S=0.0;
for(i=0;i<n;i++){
for(j=0;j<n;j++)
S=S+a[i][j]*x0[i];
}
for(i=0;i<n;i++){
R0[i]=a[i][n]-x0[i]+S;
cout<<"R("<<i<<")="<<R0[i]<<" | ";
}
f=maximal(n,R0);
det=R0[f];
for(k=0;k<iter;k++){
cout<<"det{"<<k<<"}="<<det<<"\n";
for(i=0;i<n;i++){
if(i!=f) R0[i]=R0[i]+a[i][f]*det;
else R0[i]=R0[i]-det;
}
for(i=0;i<n;i++)
cout<<"R["<<i+1<<"]="<<R0[i]<<" ";
x[f]=x[f]+det;
f=maximal(n,R0);
det=R0[f];
}
cout<<"\n";
for(i=0;i<n;i++)
cout<<"X{"<<i+1<<"}="<<x[i]<<"\n";
delete []x;
delete []R0;
delete []x0;
delete []a;
cin.get();
cin.get();
}