A set of sets is called a family. Two families A and B are said to be cross-t-intersecting if each set in A intersects each set in B in at least t elements. An active problem in extremal set theory is to determine the maximum product of sizes of cross-t-intersecting subfamilies of a given family. This incorporates the classical Erdos-Ko-Rado (EKR) problem. We prove a cross-t-intersection theorem for weighted subsets of a set by means of a new subfamily alteration method, and use the result to provide solutions for three natural families. For r is an element of [n] = {1, 2, ..., n}, let [GRAPHICS] be the family of r-element subsets of [n], and let [GRAPHICS] be the family of subsets of [n] that have at most r elements. Let F-n,F- r,F- t be the family of sets in [GRAPHICS] that contain [t]. We show that if g : [GRAPHICS] -> R+ and h : [GRAPHICS] -> R+ are functions that obey certain conditions, A subset of [GRAPHICS] , B [GRAPHICS] , and A and B are cross-t-intersecting, then Sigma(A is an element of A)g(A) Sigma(B is an element of B) h(B) <= Sigma(C is an element of Fm,r,t) g(C) Sigma(D is an element of Fn,s,t) h(D), and equality holds if A = F-m,F-r,(t) and B = F-n,F-s,F-t. We prove this in a more general setting and characterize the cases of equality. We use the result to show that the maximum product of sizes of two cross-t-intersecting families A is an element of [GRAPHICS] and B subset of [GRAPHICS] is [GRAPHICS] [GRAPHICS] for min{m, n} >= n(0)(r, s, t), where n(0)(r, s, t) is close to best possible. We obtain analogous results for families of integer sequences and for families of multisets. The results yield generalizations for k >= 2 cross-t-intersecting families, and EKR-type results.