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

  • 🚨 29 мая стартует курс «Пентест Active Directory: от теории к практике» от Академии Кодебай

    🔍 Изучите реальные техники атак на инфраструктуру Active Directory: от первоначального доступа до полной компрометации.
    🛠️ Освойте инструменты, такие как BloodHound, Mimikatz, CrackMapExec и другие.
    🧪 Пройдите практические лабораторные работы, имитирующие реальные сценарии атак.
    🧠 Получите знания, которые помогут вам стать востребованным специалистом в области информационной безопасности.

    После старта курса запись открыта еще 10 дней Подробнее о курсе ...

  • Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

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

  • Автор темы Автор темы 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;
}
}



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

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

Курс AD