1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

двумерный массив

Тема в разделе "Вопросы новичков и не только", создана пользователем AquaGen4uk, 16 янв 2011.

  1. AquaGen4uk

    AquaGen4uk Гость

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

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

    буду очень благодарен.Заранее спасибо.
    Код:
    // 6i.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,p=0,srn=0,ix; float B[12],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;}
    
    
    
    }
    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 ();
    }
    Программа зацикливаеться...не знаю что и делать((Нужен просмотривать матрицу каждый раз сначала пока не отсортируються строки как нам нужно.Помогите пожалуйста....проблема в функции SrArifm
     
Загрузка...

Поделиться этой страницей