Дана матрица размером КхР (К и Р вводит пользователь). удалить из
матрицы: 1) строка, имеет наименьшую сумму элементов; 2) столбец, содержащий
минимальный элемент.
Дана матрица размером КхР (К и Р вводит пользователь). 1) Поменять местами строку, содержащую все отрицательные элементы со строкой, содержащей все
положительные элементы (считать, что такие строки существуют по одному). 2) Поменять
местами столбцы, содержащие одинаковое количество парных и непарных элементов
(Считать, что такие столбцы существуют по одному) .
C/C++
СРОЧНО! Помогите решить 2 задачи C++
Ввод значений руками или случайно?
Первое задание:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<unistd.h>
#define MAX 10;
int main()
{
int K, P, **matrix, Min,
MinSum=0, Sum=0, MinK=-1, MinP=-1;
printf("Enter size of Matrix[K][P]");
printf("\nEnter K = ");
scanf("%d",&K);//кол-во строк
printf("\nEnter P = ");
scanf("%d",&P);//кол-во столбцов
matrix=(int**)malloc(K*sizeof(int*));
if(matrix)
{
for(int i = 0; i < K; i++)
{//for i
matrix[i]=(int*)malloc(P*sizeof(int));
if(!matrix[i])
{//if
printf("\nError. Column not created.");
exit(1);
}//if
}//for i
MinSum=P*MAX;
Min=MAX;
srand(time(NULL));
printf("\n Matrix[%d][%d]:\n",K,P);
for(int i = 0; i < K; i++)
{//for i
Sum=0;
int minstr;
for(int j = 0; j < P; j++)
{//for j
matrix[i][j]=rand()%MAX;
Sum+=matrix[i][j];
minstr=i;
if(matrix[i][j]<Min)
{
Min=matrix[i][j];
MinP=j;
}
printf("%3d ",matrix[i][j]);
}//for j
if(Sum<MinSum)
{ MinSum=Sum; MinK=minstr;}
printf("\n");
}//for i
printf("\nMinSum=%d Min=%d MinK=%d MinP=%d",MinSum,Min,MinK+1,MinP+1);
//сдвигаем строки на место
//удаляемой строки:.
for(int i = MinK; i < K-1; i++)
for(int j = 0; j < P; j++)
matrix[i][j]=matrix[i+1][j];
//уменьшаем кол-во строк матрицы:
realloc(matrix,--K);
//сдвигаем столбцы на место
//удаляемого столбца:
for(int i = 0; i < K; i++)
for(int j = MinP; j < P-1; j++)
matrix[i][j]=matrix[i][j+1];
//уменьшаем кол-во столбцов:
realloc(*matrix, --P);
printf("\n\nResult Matrix:\n");
for(int i = 0; i < K; i++)
{
for(int j = 0; j < P; j++)
{
printf("%3d ",matrix[i][j]);
} printf("\n");
}
for(int i = 0; i < K; i++)
free(matrix[i]);
free(matrix);
}
else
printf("\nError. Matrix not created.");
fflush(stdout);
sleep(10);
return 0;
}

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<unistd.h>
#define MAX 10;
int main()
{
int K, P, **matrix, Min,
MinSum=0, Sum=0, MinK=-1, MinP=-1;
printf("Enter size of Matrix[K][P]");
printf("\nEnter K = ");
scanf("%d",&K);//кол-во строк
printf("\nEnter P = ");
scanf("%d",&P);//кол-во столбцов
matrix=(int**)malloc(K*sizeof(int*));
if(matrix)
{
for(int i = 0; i < K; i++)
{//for i
matrix[i]=(int*)malloc(P*sizeof(int));
if(!matrix[i])
{//if
printf("\nError. Column not created.");
exit(1);
}//if
}//for i
MinSum=P*MAX;
Min=MAX;
srand(time(NULL));
printf("\n Matrix[%d][%d]:\n",K,P);
for(int i = 0; i < K; i++)
{//for i
Sum=0;
int minstr;
for(int j = 0; j < P; j++)
{//for j
matrix[i][j]=rand()%MAX;
Sum+=matrix[i][j];
minstr=i;
if(matrix[i][j]<Min)
{
Min=matrix[i][j];
MinP=j;
}
printf("%3d ",matrix[i][j]);
}//for j
if(Sum<MinSum)
{ MinSum=Sum; MinK=minstr;}
printf("\n");
}//for i
printf("\nMinSum=%d Min=%d MinK=%d MinP=%d",MinSum,Min,MinK+1,MinP+1);
//сдвигаем строки на место
//удаляемой строки:.
for(int i = MinK; i < K-1; i++)
for(int j = 0; j < P; j++)
matrix[i][j]=matrix[i+1][j];
//уменьшаем кол-во строк матрицы:
realloc(matrix,--K);
//сдвигаем столбцы на место
//удаляемого столбца:
for(int i = 0; i < K; i++)
for(int j = MinP; j < P-1; j++)
matrix[i][j]=matrix[i][j+1];
//уменьшаем кол-во столбцов:
realloc(*matrix, --P);
printf("\n\nResult Matrix:\n");
for(int i = 0; i < K; i++)
{
for(int j = 0; j < P; j++)
{
printf("%3d ",matrix[i][j]);
} printf("\n");
}
for(int i = 0; i < K; i++)
free(matrix[i]);
free(matrix);
}
else
printf("\nError. Matrix not created.");
fflush(stdout);
sleep(10);
return 0;
}

Aaaaaaaaa Tttttttttt
c++ намного легче. Но код стырю
Похожие вопросы
- Помогите с кодом задачи c++. задача на фото
- Решите 2 задачи на C++
- Помогите решить задание на C++
- Помогите решить задание на c++
- Помогите решить задачу по программированию на C++
- Помогите решить задачу по C++!
- Помогите решить задачу пожалуйста, в C++
- Помогите решить задачу на C++
- Помогите решить задачу, c++, функции
- Помогите решить задачу C++
//////////////////////// Поиск минимального элемента столбца /////////////////////
for (int row=0; row<K; row++)
{
for (int col=0; col A[row][col])
{
miniR= row; miniC= col;
}
}
}
///////////////// УДАЛЕНИЕ СТОЛБЦА /////////////////
for (int row=0; row<K; row++) A[row].erase(A[row].begin()+miniC);
P--; cout << endl;
for (int row=0; row<K; row++)
{
for (int col=0; col<P; col++)
{
cout << A[row][col] << "\t";
}
cout << endl;
}