Николай Веселуха
Высший разум
(383235)
12 лет назад
#include <iostream>
#include <iomanip>
#include <ctime>
#include <cfloat>
using namespace std;
int main() {
srand((unsigned)time(NULL));
const size_t size = 5, w = 6;
int ** matrix = new int * [size];
for (rsize_t row = 0; row < size; row++, cout << endl << endl) {
matrix[row] = new int [size];
for (rsize_t col = 0; col < size; col++) {
matrix[row][col] = 9 - rand() % 19;
cout << setw(w) << matrix[row][col];
}
}
cout << endl;
double sum;
bool flag;
for (rsize_t col = 0; col < size; col++) {
sum = 0;
flag = true;
for (rsize_t row = 0; row < size; row++) {
sum += matrix[row][col];
if (matrix[row][col] < 0) {
flag = false;
cout << setw(w) << '-';
break;
}
}
if (flag) cout << setw(w) << sum;
}
double min = DBL_MAX;
rsize_t n, m, k = 0;
while (++k < 2 * size) {
if (k != size) sum = 0;
if (k < size) {
m = size - k;
n = 0;
do sum += abs(matrix[n++][m]); while(++m != size);
} else if (k > size) {
n = k - size;
m = 0;
do sum += abs(matrix[n][m++]); while(++n != size);
}
if (min > sum) min = sum;
}
cout << endl << "\n\tMin = " << min << endl;
for (rsize_t row = 0; row < size; row++) delete[] matrix[row];
delete[] matrix;
cin.get();
return 0;
}
Анастасия Коновалова
Гуру
(4099)
12 лет назад
ВТОРАЯ
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <iostream>
#include <time.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
#define N_MIN -3
#define N_MAX 5
#include <iostream>
#include <iomanip>
#include <ctime>
int first(int argc, char *argv[]){
int s,i,j,k,l,s1,t2,t1;
int a[5][5];
srand(time(NULL));
for(i=0;i<5;i++){
for(j=0;j<5;j++){
a[j]=rand()%(N_MAX-N_MIN+1)+N_MIN;
}
}
for(i=0;i<5;i++){
for(j=0;j<5;j++){
printf("= ",a[j]);
}
printf("\n");
}
k=0;
s=0;
l=0;
for (i=0; i<5; i++){
for (j=0; j<5; j++){
if (a[j]>=0){
if(a[j]%2==0)
l+=a[j];
k++;
}
}
if (k==5){
l=l;
}
else {
l=0;
}
s=s+l;
k=0;
}
s1=a[0][5-1];
for(i=1; i<5; i++){
t1=t2=0;
for(j=0; j<5-i; j++){
t1+=a[i+j][j];
t2+=a[j][i+j];
}
if(t1<s1)>
(кажется чего-то не хватает - тупо копируем текст первой программы)
return 0;
}
int second{
srand((unsigned)time(NULL));
const size_t rows = 5, cols = 5;
int ** matrix = new int * [rows];
for (rsize_t row = 0; row < rows; row++, cout << endl)
{
matrix[row] = new int [cols];
for (rsize_t col = 0; col < cols; col++)
{
matrix[row][col] = rand() % 5;
cout << setw(4) << matrix[row][col];
}
}
cout << endl;
double sum;
for (rsize_t col = 0; col < cols; col++)
{
sum = 0;
for (rsize_t row = 0; row < rows; row++) sum += matrix[row][col];
cout << setw(4) << sum;
}
for (rsize_t row = 0; row < rows; row++) delete[] matrix[row];
delete[] matrix;
cin.get();
return 0;
}
int main(int argc, char *argv[]){ //тут вызов двух функций, которые раньше были отдельными прогами
first(int argc, char *argv[]);
second();
}
1) сумму элементов в тех столбцах, которые не содержат отрицательных элементов;
2) минимум среди сумм модулей элементов диагоналей, параллельных главной диагонали матрицы.
ПЕРВАЯ ПРОГРАММА:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <iostream>
#include <time.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
#define N_MIN -3
#define N_MAX 5
int main(int argc, char *argv[]){
int s,i,j,k,l,s1,t2,t1;
int a[5][5];
srand(time(NULL));
for(i=0;i<5;i++){
for(j=0;j<5;j++){
a[j]=rand()%(N_MAX-N_MIN+1)+N_MIN;
}
}
for(i=0;i<5;i++){
for(j=0;j<5;j++){
printf("= ",a[j]);
}
printf("\n");
}
k=0;
s=0;
l=0;
for (i=0; i<5; i++){
for (j=0; j<5; j++){
if (a[j]>=0){
if(a[j]%2==0)
l+=a[j];
k++;
}
}
if (k==5){
l=l;
}
else {
l=0;
}
s=s+l;
k=0;
}
s1=a[0][5-1];
for(i=1; i<5; i++){
t1=t2=0;
for(j=0; j<5-i; j++){
t1+=a[i+j][j];
t2+=a[j][i+j];
}
if(t1<s1)>
#include <iomanip>
#include <ctime>
using namespace std;
int main()
{
srand((unsigned)time(NULL));
const size_t rows = 5, cols = 5;
int ** matrix = new int * [rows];
for (rsize_t row = 0; row < rows; row++, cout << endl)
{
matrix[row] = new int [cols];
for (rsize_t col = 0; col < cols; col++)
{
matrix[row][col] = rand() % 5;
cout << setw(4) << matrix[row][col];
}
}
cout << endl;
double sum;
for (rsize_t col = 0; col < cols; col++)
{
sum = 0;
for (rsize_t row = 0; row < rows; row++) sum += matrix[row][col];
cout << setw(4) << sum;
}
for (rsize_t row = 0; row < rows; row++) delete[] matrix[row];
delete[] matrix;
cin.get();
return 0;
}