IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

> поиск минимальной суммы произведений, Чистый С
PAS_Dil
сообщение 2.10.2006 15:37
Сообщение #1


Гость






Доброго времени суток.
Поставили перед мною следующую задачу и наказили выполнить на С.
Данны 2 массива длины n. Можно брать по одному члену из каждого м перемножать их. Напистаь программу печатающую пары номеров массивов так, чтобы сумма их произведений была минимальной. Каждый член массива может использоваться лишь однажды.

Если честно я немного не понимаю условия если можно поясните и его пожалуйста, буду очень признателен за исходник.

Благодарю за внимание.
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 3.10.2006 0:26
Сообщение #2


Гость






Цитата
я должен не только отсортировать массив но ещё и хранить индекс каждого элемента в массиве до его сортировки

#include <stdio.h>

#define MAX 3
#define OBNUL 0

void swap(int *a, int *b) {
int T;
T = *a; *a = *b; *b = T;
}

main ()
{
int i, j;
int mas1[MAX] = {12,2,4};
int mas2[MAX] = {8,42,34};

int ix_1[MAX] = {1, 2, 3},
ix_2[MAX] = {1, 2, 3};

int obn = OBNUL;

for(i = 0; i < MAX; ++i)
for(j = MAX - 1; j >= i + 1; --j) {
if(mas1[j - 1] > mas1[j]) {
swap(&mas1[j - 1], &mas1[j]);
swap(&ix_1[j - 1], &ix_1[j]);
}

if(mas2[j - 1] > mas2[j]) {
swap(&mas2[j - 1], &mas2[j]);
swap(&ix_2[j - 1], &ix_2[j]);
}
}

for(obn = OBNUL; obn < MAX; obn++)
printf("%d(%d) ", mas1[obn], ix_1[obn]);
printf("\n----------\n");
for(obn = OBNUL; obn < MAX; obn++)
printf("%d(%d) ", mas2[obn], ix_1[obn]);
printf("\n----------\n");

return 0;

}
Идея понятна?
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 27.07.2025 11:08
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"