Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.02.2011, 19:49   #1
DroZd911
Новичок
Джуниор
 
Регистрация: 17.02.2011
Сообщений: 2
По умолчанию функция сортировки массива работает не верно

Программа должна иметь как минимум три функции. Функции должны быть организованы так, чтобы выполнять обработку матриц любого размерности. Количество элементов каждой матрицы следует принимать в пределах 100-200. КАТЕГОРИЧЕСКИ ЗАПРЕЩАЕТСЯ использовать глобальные переменные. Матрицу объявить статически в главной функции, размерностью 10*10 или более, затем ввести с клавиатуры необходимое количество строк и столбцов. Для всех вариантов элементы матриц формировать с помощью генератора случайных чисел. Вывести на печать матрицы до и после преобразования.В матрице размером 10х12 упорядочить элементы каждого столбца по возрастанию методом обмена, при котором возобновление просмотра осуществляется сначала.
листинг:
#include<conio.h>
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
float funcform(float *X, int n, int m, int c, int b);
float funcrand(float z, float d);
void Print(float *X, int n, int m, int c, int b)
{int i, j;
printf("\n");
for(i=0; i<c; i++)
{printf("\n");
for(j=0; j<b; j++)
{printf("%.2f ", *(X+i*m+j));}}
getch();
}
int main()
{
float A[100][100], z, d;
int c, b, i, j, n, m;
clrscr();
printf("vvedite kolichestvo strok\n");
scanf("%d", &c);
printf("vvedite kolichestvo stolb\n");
scanf("%d", &b);
printf("vvedite nizhniy predel\n");
scanf("%f", &z);
printf("vvedite verhniy predel\n");
scanf("%f", &d);
for(i=0; i<c; i++)
{printf("\n");
for(j=0; j<b; j++)
{A[i][j]=funcrand(z,d);
printf("%.2f ", A[i][j]);}}
getch();
funcform(&A[0][0], 100, 100, b, c);
Print(&A[0][0], 100, 100, c, b);
getch();

return 0;
}
float funcform(float *X, int n, int m, int b, int c)
{int i, j, x, w, e;
float a;
for(i=0; i<b; i++)
{for(j=0; j<c; j++)
{x=j+1;
{if(*(X+j*m+i)> *(X+x*m+i))
{a=*(X+j*m+i);
*(X+j*m+i)=*(X+x*m+i);
*(X+x*m+i)=a;
for(w=0; w<c; w++)
{printf("\n");
for(e=0;e<b; e++)
{printf("%.2f ", *(X+w*m+e));}}
getch();
clrscr();
j=0;}}}}
return 0;
}
float funcrand(float z, float d)
{float c;
c=z+(float)rand()/RAND_MAX*(d-z);
return c;}

Последний раз редактировалось DroZd911; 17.02.2011 в 19:55. Причина: листинги спутал:)
DroZd911 вне форума Ответить с цитированием
Старый 18.02.2011, 05:33   #2
DroZd911
Новичок
Джуниор
 
Регистрация: 17.02.2011
Сообщений: 2
По умолчанию

нашел ошибку
float funcform(float *X, int n, int m, int b, int c)
{int i, j, x, w, e;
float a;
for(i=0; i<b; i++)
{for(j=0; j<c-1; j++)
{x=j+1;
{if(*(X+j*m+i)> *(X+x*m+i))
{a=*(X+j*m+i);
*(X+j*m+i)=*(X+x*m+i);
*(X+x*m+i)=a;
for(w=0; w<c; w++)
{printf("\n");
for(e=0;e<b; e++)
{printf("%.2f ", *(X+w*m+e));}}
getch();
clrscr();
j=0;}}}}
return 0;
DroZd911 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
решил написать програмку, всё указал верно, но она не работает Барбоса Общие вопросы Delphi 8 26.01.2011 15:47
Написать сортировки массива- прямое включение и шелла, и сравнить какая из них работает быстрее Noiziya Помощь студентам 3 30.12.2010 01:00
Скрипт не работает должным образом! Подскажите, что в скрипте не верно? Qwertys777 PHP 10 02.12.2009 09:40
fgets - работает не верно, и вообще тупит heart C++ Builder 14 29.11.2009 15:55
ajax скрипт. Строка загрузки не верно работает alldmc PHP 3 21.01.2009 15:38