![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 16.04.2018
Сообщений: 4
|
![]()
Нужно немного переделать программу, оформив каждый пункт задания в виде шаблона функции.
#include <iostream> #include <math.h> #include <conio.h> using namespace std; int f1 (float *mas, float n ) { //количество элементов массива, больших С; int i, count=0, ind=0; float c, maxm=0, counter=0; cout<<"\n\nВведите число C: "; cin>>c; for(i=0; i<n; i++) { if(i==0) { maxm=fabs(mas[i]); } if(mas[i]>c) { count++; } if(fabs(mas[i])>maxm) { maxm=fabs(mas[i]); ind=i; } } cout<<"\n\nКоличество эл-ов больших С: "<<count; cout<<endl; } int f2 (float *mas, float n ) { //Произведение элементов массива, расположенных после максимального по модулю элемента int count=0, ind=0, i; float c, maxm=0,pro=1, counter=0; float max = abs(mas[0]); counter = 0; for(i = 0; i < n; i++) if(abs(mas[i]) > max) { counter = i; max = abs(mas[i]); } float mult = 1; for(i = counter+1; i < n; i++) mult *= mas[i]; if(counter == n-1) mult = 0; cout << "\n\nПроизведение элементов массива, расположенных после максимального по модулю элемента: " << mult; } f3(float *mas, float n ) { //ортируем массив по возрастанию int i; for(i=0; i<n-1; i++) { for(int j=0; j<n-i-1; j++) { if(mas[j]>mas[j+1]) { float temp=mas[j]; mas[j]=mas[j+1]; mas[j+1]=temp; } } } cout<<"\n\nОтсортированный массив: "; for(i=0;i<n;i++) { cout<<mas[i]<<"\t"; } cout<<endl; } int main() { setlocale (LC_CTYPE,"rus"); cout<<"************************ Программа для работы с массивами *********************\n"<<endl; // установка размера массива int n1,i;//кол-во элементов cout<<"Введите кол-во элементов: "; cin>>n1; float mas[n1]; //объявляем массив из кол-ва элементов, которое мы ввели for(i=0; i<n1; i++)//запускаем цикл с просьбой ввести значение каждого элемента массива { cout<<i+1<<"-ый элемент: "; cin>>mas[i]; } //выведем значения всех эл-ов массива, используя цикл cout<<"Исходный массив: "; for(i=0; i<n1; i++) { cout<<mas[i]<<"\t";//вывод i-го эл-та } f1(mas,n1); f2(mas,n1); f3(mas,n1); getch(); return 0; } Эта программа работает и вычисляет: - количество элементов массива, больших С; - произведение элементов массива, расположенных после максимального по модулю элемента. - преобразовает массив путем расположения всех отрицательных элементы, а потом — всех положительных Единственное что я не понимаю КАК оформить каждый пункт задания в виде шаблона функции. |
![]() |
![]() |
![]() |
#2 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
![]()
Скорее всего, речь идёт о функции, которая умеет работать с любым типом массива.
Код:
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Переделать немного программу | kisiy | Помощь студентам | 5 | 28.10.2015 00:21 |
Нужно немного подправить программу на работу с двумерной матрицей(C++ Builder6)) | Kroleg | Помощь студентам | 1 | 09.10.2011 04:49 |
нужно немного переписать программу на Delphi | dizWOLV | Фриланс | 6 | 15.05.2011 13:29 |
Помогите переделать программу немного. | texcel | Общие вопросы C/C++ | 1 | 16.02.2009 19:42 |