• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Бесплатный ВЕБИНАР по OSINT с Екатериной Тьюринг: ➡️9 февраля в 19:00 (мск) пройдет урок

    Как безопасно искать информацию в открытых источниках

    🔥 Записаться 🔥

Задача: сортировка строк матрицы методом обмена

  • Автор темы Автор темы AquaGen4uk
  • Дата начала Дата начала
A

AquaGen4uk

помогите пожалуйста
нужно написать функцию на языке С

В матрице размером 12x6 упорядочить строки матрицы по убыванию средних арифметических значений строк методом обмена, при котором просмотр возобновляется сначала.

буду очень благодарен.Заранее спасибо.
 
4. старайтесь ВСЕГДА сначала решить задачу САМОСТОЯТЕЛЬНО, ну а когда не выходит ОБЯЗАТЕЛЬНО публикуйте здесь свой код, даже если он не работает. Поверьте, это значительно повышает к вам уважение. Халявщиков, которым нужно, что бы им просто кто-нить нахаляву сделал - здесь не любят. Да и исправить мелкую ошибку в готовом коде легче, чем писать все заново.

или 50$
 
Извените...нужно изменить функцию SrArifm
Код:
// 6.cpp: определяет точку входа для консольного приложения.
//

#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <locale.h>
#include <stdlib.h>
#include <math.h>

void FormMatr(int *A, int n,int m)
{
int i,j;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
*(A+i*m+j)=-50+rand()%100;
}
void PrintMatr(int *A, int n,int m)
{	int i,j;
for(i=0;i<n;i++)
{	for(j=0;j<m;j++)
printf("%6d",*(A+i*m+j));
printf("\n");
}
}
void SrArifm(int *A, int n,int m)
{

int i,j,ib=0,srn=0,ix,B[12],p=0,sr=0,s=0;
for(j=0;j<m;j++)
{
for(i=0;i<n;i++)
s=s+*(A+i*m+j);
B[ib]=s/n;
ib++;
}
for (j=0;j<n;j++)
if (B[ib+1]>B[ib]) 
{for (ix=0;ix<n;ix++)
{

p=*(A+ix*m+j);
*(A+ix*m+j)=*(A+ix*m+j-1);
*(A+ix*m+j-1)=p;

}
j=0;}



}
void main()
{
int A[15][15],n,m;
printf("Vvedite n i m (12;6)");
scanf("%d %d",&n,&m);
FormMatr(&A[0][0],n,m);
PrintMatr(&A[0][0],n,m);
SrArifm(&A[0][0],n,m);
printf("Ots massiv\n");
PrintMatr(&A[0][0],n,m);
getch ();
}
 
Уже переделал так....программа зацикливаеться...не знаю уже что и делать......помогите народ пожалуйста!!!!Буду очень признателен.
Код:
void SrArifm(int *A, int n,int m)
{

int i,j,ib=0,p=0,srn=0,ix; float B[15],s=0,pp=0;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
s=s+*(A+i*m+j);
B[ib]=s/m;
s=0;
printf("%f\n",B[ib]);
ib++;

}
for (i=0;i<n-1;i++)
if (B[i]<B[i+1]) 
{for (j=0;j<m;j++)
{

p=*(A+i*m+j);
*(A+i*m+j)=*(A+(i+1)*m+j);
*(A+(i+1)*m+j)=p;
pp=B[i];
B[i]=B[i+1];
B[i+1]=pp;
i=0;
}
}



}
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!