Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Помогите решить задачку / 6 сообщений из 6, страница 1 из 1
15.11.2007, 18:10
    #34943040
Семен Семеныч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите решить задачку
Помогите бедному студенту решить задачку на C или Basic, без разницы.
Хотя бы сами процедуры, без ввода данных.

Дана матрица {Aij}, i=1..10, j=1..10. Найти максимальное расстояние между строками матрицы. Расстояние Rmn определяется по формуле: |k-l|, где k - № стобца, где расположен максимальный элемент m-ой строки, l - № стобца, где расположен максимальный элемент n-ой строки. Если таких элементов в строке несколько, то взять первый из них.

Вот алгоритм задачи:
1)В первой строке матрицы найти максимальный элемент. Запомнить номер столбца, в котором он находится, напр. - 5.
2)Во второй строке матрицы найти максимальный элемент. Запомнить номер столбца, в котором он находится, напр. - 2.
3)Следуя формуле из условия |k-l|, вычитаем из пяти два, т.е. 5-2=3. Это первое расстояние.
4)Проделать такие же операции для всех возможных комбинация строк, т.е. 1-2, 1-3, 1-4, 2-1, 2-2, и т.д.
5)Из всех расстояний выбрать максимальное.

Зарание спасибо :)
...
Рейтинг: 0 / 0
15.11.2007, 21:32
    #34943372
mikhail_n
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите решить задачку
Синтаксис не проверял, проверяйте сами, правильными инклудами тоже сами озаботьтесь.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
int Distance(double A[], int N, int M, int packOrder)
{
	//packOrder ==  0  - matrix packed by rows
        //packOrder ==  1  - matrix packed by columns

        //N - number of columns
        //M - number of rows

	//this buffer holds positions of max elements in rows
	int* buffer = (int*)malloc(sizeof(int)*M);

             int jN,k;
	double AMax;

	switch packOrder
	{
		case  0 :
		{
			for(int j =  0 ; j < M; j++)
			{
				jN = j*N;
				AMax =  0 . 0 ;
				buffer[j] =  0 ;
				for(int i =  0 ; i < N; i++)
                                {
					k = i + jN;
					if(fabs(A[k]) > AMax)
					{
						buffer[j] = i;
						AMax = fabs(A[k]);
					}
				}
			}
			break;
		}
		case  1 :	
		{
			for(int j =  0 ; j < M; j++)
			{
				AMax =  0 . 0 ;
				buffer[j] =  0 ;
				for(int i =  0 ; i < N; i++)
                                {
					k = j + i*M;
					if(fabs(A[k]) > AMax)
					{
						buffer[j] = i;
						AMax = fabs(A[k]);
					}
				}
			}
			break;
		}
		default:
		{
			printf("Invalid value supplied for packOrder parameter\n");
			break;
		}
	}

	int jMin, jMax;
	jMin = buffer[ 0 ];
	jMax = jMin;

	for(int j =  1 ; j < M; j++)
	{
		if(jMin < buffer[j])
			jMin = buffer[j];

		
		if(jMax > buffer[j])
			jMax = buffer[j];
	}

            free(buffer);

	return jMax - jMin;
}
...
Рейтинг: 0 / 0
15.11.2007, 22:05
    #34943395
mikhail_n
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите решить задачку
Уупс, вместо

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
for(int j =  1 ; j < M; j++)
	{
		if(jMin < buffer[j])
			jMin = buffer[j];

		
		if(jMax > buffer[j])
			jMax = buffer[j];
	}

должно быть

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
for(int j =  1 ; j < M; j++)
	{
		if(buffer[j] < jMin)
			jMin = buffer[j];

		
		if(buffer[j] > jMax)
			jMax = buffer[j];
	}
...
Рейтинг: 0 / 0
16.11.2007, 01:21
    #34943528
Vladao
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите решить задачку
Помогите пжста решить задачку на JavaScript, где дана входная строка и из неё надо бы удалить повторяющиеся символы. Что надо это всё сотворить с помощью команд indexOf() и charAt() это я знаю, но как всё это вместе построить, организовать и увязать в программный код - не знаю, так как программированием плохо ещё владею. Спасибо за понимание.
...
Рейтинг: 0 / 0
16.11.2007, 09:47
    #34943807
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите решить задачку
VladaoПомогите пжста решить задачку на JavaScript, где дана входная строка и из неё надо бы удалить повторяющиеся символы. Что надо это всё сотворить с помощью команд indexOf() и charAt() это я знаю, но как всё это вместе построить, организовать и увязать в программный код - не знаю, так как программированием плохо ещё владею. Спасибо за понимание.
Если вам решат задачку, овладеете программированием?
...
Рейтинг: 0 / 0
16.11.2007, 18:04
    #34946063
Vladao
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите решить задачку
Если код будет с комментариями, то хотя бы начну овладевать, а так конешно трудно по-началу одному...
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Помогите решить задачку / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]