Взрослая социальная сеть
Текстовая версия форума
Знакомства для секса Регистрация


Указатели в Си

Текстовая версия форума: Архив компьютерного форума



Полная версия топика:
Указатели в Си -> Архив компьютерного форума


Страницы: [1]

Flashick
Эх..практика по проге у меня...жуть....
Помогите пжалста...я совсем запутался...

Даны: целочисленные матрица R [ 0:n-1;0:m-1 ] и массив A [ 0:k-1 ]. В каждом столбце матрицы R переставить местами максимальный и минимальный элементы, если они оба присутствуют в массиве A.

Язык - Си. Задачка несложная...но ее нужно сделать на указателях и на функциях..
tetro
QUOTE (Flashick @ 24.12.2006 - время: 13:40)
Эх..практика по проге у меня...жуть....
Помогите пжалста...я совсем запутался...

Даны: целочисленные матрица R [ 0:n-1;0:m-1 ] и массив A [ 0:k-1 ]. В каждом столбце матрицы R переставить местами максимальный и минимальный элементы, если они оба присутствуют в массиве A.

Язык - Си. Задачка несложная...но ее нужно сделать на указателях и на функциях..

Матрица естественно хранится как двух-мерный массив и внутрений индех вы считаете столбцом или строкой?
Вас устроит тривиальный вариант:
Считаем внутренний индекс столбцом? И 2 прохода по нему R плюс 2 прохода по А на строку?

Пишем функции (если на честном С то надо убрать сонст и вынести об'явы наверх):


CODE
double *FindMin(double *R, const double *R_end) {
if(R_end < R) return NULL;
if(R != NULL) return NULL;
double *pMin = R;
for(double *p=R+1; p<R_end; p++){
if(*p < *pMin) pMin = p;
}
return pMin;
}


Аналогично
CODE
double *FindMax(double *R, const double *R_end)


Далее пишем
CODE
const double *FindValFirst(const double *A, const double *A_end, double Val){
if(A_end < A) return NULL;
if(A != NULL) return NULL;
for(double *p=A; p<R_end; p++){
if(*p == Val) return p;
}
return NULL;
}

Это можно было и эффективнее реализовать вначале сортирнув А а потом за лог искать это даст м*н*лог к а не м*н*к

А далее клеим все вместе.
P.S. Я тут на double написал, а надо int. Да и равно на double не слишком хорошо смотрится (хотя здесь можно). Но 2 часа ночи - я спать пошел....

Это сообщение отредактировал tetro - 25-12-2006 - 03:27

Страницы: [1]

Архив компьютерного форума -> Указатели в Си





Проститутки Киева | индивидуалки Москвы | Эротический массаж в Москве | Проститутки-индивидуалки Москва