Помогите составить программы на языке си++ для института пожалуйста
вот задание:
1. Даны натуральное число М и целочисленный массив А(М). Сосчитать и напечатать, сколько различных чисел в этом массиве. Например, в массиве 5,7,5 различных чисел два (5 и 7).
2. Заданы два массива чисел длины n и m (n>m) соответственно. Составить программу, определяющую, можно ли вычеркнуть некоторые элементы из большего массива, чтобы получить меньший. (Порядок элементов в массивах роли не играет).
3. Задана целочисленная прямоугольная матрица. Составить программу, получающую новую матрицу следующим образом: в каждой строке исходной матрицы элементы заменяются суммой элементов из предыдущих столбцов (первый столбец должен стать нулевым). Размер матрицы большой и заводить вспомогательную матрицу такого же размера не представляется возможным.
вот задание:
1. Даны натуральное число М и целочисленный массив А(М). Сосчитать и напечатать, сколько различных чисел в этом массиве. Например, в массиве 5,7,5 различных чисел два (5 и 7).
2. Заданы два массива чисел длины n и m (n>m) соответственно. Составить программу, определяющую, можно ли вычеркнуть некоторые элементы из большего массива, чтобы получить меньший. (Порядок элементов в массивах роли не играет).
3. Задана целочисленная прямоугольная матрица. Составить программу, получающую новую матрицу следующим образом: в каждой строке исходной матрицы элементы заменяются суммой элементов из предыдущих столбцов (первый столбец должен стать нулевым). Размер матрицы большой и заводить вспомогательную матрицу такого же размера не представляется возможным.
2) для каждого елемента из меньшего массива найти сответствие в большем масиве, если хоть один елемент не найден, то нельзя
3)чето не понятно
Vasy94
так дело не пойдет. вы сначала покажите что вы сделали, как пробовали и в каком конкретно месте требуется объяснение.
делать ВАШЕ задание за вас никто не будет. а то как сессия, так тут сборник задач. а если разбираться и учиться не хотите, то сделайте первый шаг к купленному диплому - купите задачки у Vj_o-oy .
Vasy94, а можно ты мне с зачётом по БДиЭС поможешь?)))
не, ну трындец. по ходу отсутствует вообще понятие о программировании, но задачки нужны. ВСРФ ждут
В третьей по ходу дел сводится к тому, что идём по циклу с конца и каждому элементу присваиваем сумму всех элементов, иже младше него по номеру. Или я неправ?
С одним требованием -- описать реакцию препода на это)))
я там уже был!я на заочке учусь!
494.99 но платить никто не хочет ) --дешевле с преподом договариться
Решение на perl могу выложить хоть щас и бесплатно)))) выложи!а лучше на си++!с объяснением!
оба языка - императивные. можно сесть и тупо странслировать адын в другой.
(define (nums vec)
(let ((vs (sort (vector->lis vec))))
(length
(fold
(lambda (res acc)
(if (= (car acc) res)
(cons res acc)
acc))
(car vs) (cdr vs)))))
2.
(define (ispriv? v1 v2)
(call/cc (lambda (exit)
(let loop ((vs1 (sort (vector->list v1)))
(vs2 (sort (vector->list v2))))
(case
((null? v2) (exit #t))
((null? v1) (exit #f))
((= (car v1) (car v2)) (loop (cdr vs1) (cdr vs2)))
((> (car v2) (car v1)) (loop (cdr vs1) vs2))
(else (exit #f))))))
3.
(define (vector-map func . vectors)
(list->vector (apply map (cons func (map (lambda (v) (vector->list v)) vectors)))))
(define (line-vec-summ vv); считаем матрицу вв вектором векторов-строк
(list->vector
(cdr
(foldl (lambda (r a)
(let ((it (vector-map + r (car a))))
(cons it (cons it (cdr a)))))
(cons (make-vector (vector-length (vector-ref vv 0)) 0)
'())
(vector->list vv)))))
ежели для вас разбиратся с лямбдой и списочными морфизмами проще чем с плюсами - ми всегда рад помочь ^^
ИМХО проще и быстрее - проходить элементы слева направо и смотреть - встречался ли элемент раньше (второй цикл). Если нет - печатаем. Хотя кому как нравится
Ну это lisp а не c++. Не надо так шутить над студентами