Вопрос Помогите перевести программу с С++ на Си.

Регистрация
3 Апр 2013
Сообщения
92
Репутация
0
Спасибо
0
Монет
0
Задание: Заданы квадратная матрица А порядка n и число k(1<=k<=n). Столбец с минимальным по модулю элементом в k-той строке переставить с k-тым столбцом.

Вот сам код на С++

#include
#include
#include
#include

using namespace std;

int main()
{
setlocale(LC_ALL,"RUS");

////////// Ввод //////////

int n(0);
cout<<" - Введите информацию о матрице -"<<endl;
while(n<1)
{
cout<<" Кол-во строк и столбцов:";
cin>>n;
if(n<1)
cout<<" !!!Нужно ввести число больше 0 !!!"<<endl;
}
int **A=new int*[n];
for(int i=0;i<n;i++)
A=new int[n];
cout<<" - Введите матрицу -"<<endl;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
{
cout<<" Введите элемент в "<<i+1<<"-й строке "<<j+1<<"-го столбца:";
cin>>A[j];
}
int k(0);
while((k<1)||(k>n))
{
cout<<" Введите k:";
cin>>k;
if((k<1)&&(k>n))
cout<<" !!!k должно быть больше 0 и меньше "<<n+1<<" !!!"<<endl;
}

////////////////////

system("cls");
cout<<" - Исходная матрица -"<<endl;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
printf(" %3i",A[j]);
}
cout<<endl;
}

////////// Расчеты //////////

int nS(0);
for(int i=0;i<n;i++)
if(fabs(A[k-1])<fabs(A[k-1][nS]))
nS=i;
for(int i=0;i<n;i++)
{
int B=A[nS];
A[nS]=A[k-1];
A[k-1]=B;

}

////////////////////

cout<<endl<<" - Измененная матрица -"<<endl;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
printf(" %3i",A[j]);
}
cout<<endl;
}
system("pause");
for(int i=0;i<n;i++)
delete A;
delete A;
}
 
cin на skanf (в нете посмотри, как пользоваться) с++ это с + ООП. Остальное сказано в ответе выше
 
Назад
Сверху