Лаб. 2 ОП (Вариант 20)
.docxЗадание 1:
#include <stdio.h>
#include <iostream>
#include <time.h>
#define N 8
using namespace std;
int main()
{
setlocale (LC_ALL,"Russian");
time_t k;
srand (time(&k));
int i,j,s;
char c;
int dig[N];
do{
for (i=0; i<N; i++)
dig[i]=rand()%100-(100/2);
for (i=0; i<N; i++)
cout<<dig[i]<<" ";
for ( i = 0; i < N-1; i++)
for (j = 0; j < N-i-1; j++)
if (abs(dig[j]) > abs(dig[j+1]))
swap(dig[j], dig[j+1]);
cout << "\nУпорядоченный:\n";
for (i = 0; i < N; i++)
cout << abs(dig[i]) << " ";
cout << "\n";
for (i=0;i<N;i++)
{
if (dig[i]<0) s+=dig[i];
}
cout<<"\nСумма отрицательных чисел: "<<s;
cout<<"\nПродолжить или закончить? (y/n) : ";
cin>>c;
cout<<"======================================="<<"\n";
} while (c=='y');
system ("pause");
return 0;
}
Задание 2:
#include <iostream>
#include <time.h>
#include <iomanip>
#include <clocale>
#define N 10
#define M 12
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
time_t k;
srand(time(&k));
int sv=0, sn=0, s=0;
int max=0;
int i, j;
int dig[N][M];
char c;
do{
for (i=0; i < N; i++){
for (j=0; j < M; j++){
dig[i][j]=rand()%100;
if ((i<N/2 && j<M/2) || (i>=N/2 && j>=M/2))
{
printf("\x1B[32m%4d\033[0m",dig[i][j]);
}
else{
printf("%4d",dig[i][j]);
}
}
cout<<"\n";
}
for (i=0; i < (N/2); i++)
{
for (j=0; j < (M/2); j++)
sv = sv + dig[i][j];
}
for (i = (N/2); i < N; i++)
{
for (j = (M/2); j < M; j++)
sn = sn + dig[i][j];
}
s = s + sv + sn;
cout << "\nСумма заштрихованной области: " << s << "\n";
cout<<"Максимальные элеметы чётных столбцов:"<<"\n";
for (j = 1; j < M; j+=2)
{max=dig[0][0];
for (i = 0; i < N; i++)
{
if (dig[i][j] > max )
{
max = dig[i][j];
}
}
cout << max << " ";
}
cout<<"\nПродолжить или закончить? (y/n) : ";
cin>>c;
cout<<"======================================="<<"\n";
}while (c=='y');
system ("pause");
return 0;
}