Форум программистов, компьютерный форум CyberForum.ru

Оформить одномерный массив в виде функций - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.92
Julia9311
3 / 3 / 0
Регистрация: 05.11.2011
Сообщений: 190
24.06.2012, 20:07     Оформить одномерный массив в виде функций #1
и снова я мучаюсь с функциями

и кажется снова они получились вложенными

1.) вычислить номер максимального по модулю элемента массива

C++ (Qt)
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
#include "iostream.h"
#include "stdlib.h"
#include "stdio.h"
#include "math.h"
 
int n,i,d;
float *m=new float[n];//динамическое выделение памяти
  float*& r = m;
  
int maxx()
{
 cout<<"\nSformirovanniy massiv:\n";
  for(i=0;i<n;i++)
  
  {
      m[i]=(rand()-50)*1.0/(rand()+1);//значение i
  cout<<"\nM["<<i<<"]="<<m[i];
  }
 
 
 cout<<"\nOrganizovanniy massiv s pomoschu ssilok:\n";
 for(i=0;i<n;i++)
 { 
  cout<<"\nR["<<i<<"]="<<r[i];//вывод на экран R["<<i<<"]="<<r[i]
}
}
 
int main()
{
 cout<<"\nVvedite n-kolichestvo elementov massiva:";
 cin>>n;
cout<<"\nVvedite d-elementoi massiva:";
 cin>>d;
 return 0;
}
нужно ли последний пункт int main() оформить в виде void vvod?


2.) вычислить сумму элементов массива, расположенных после первого положительного элемента

C++ (Qt)
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
#include "iostream.h"
#include "stdlib.h"
#include "stdio.h"
#include "math.h"
 
int n,i,a;
float *m=new float[n];//динамическое выделение памяти
float*& r = m;
float s=0;
 
int Sum()
 double max=fabs(r[0]);//возвращение значения, равного нулю
 bool fl=false;
 for(i=0;i<n;i++);
  { if(fabs(m[i])>max) max=r[i];//если i>max, то i max
    if(m[i]>0) fl=true;//если i>0, то fl=верно
    if(fl)s+=r[i];//s=i
  }
 
int main()
{
cout<<"\nVvedite n-kolichestvo elementov massiva";
 cin>>n;//ввод n
 cout<<"\nVvedite a-elementi massiva";
 cin>>a;//ввод а
 cout<<"\nOrganizovanniy massiv s pomoschu ssilok:\n";
cout<<"\nSumma elementov massiva, raspologenix posle pervogo pologitelnogo elementa:"<<s;
 return 0;
}
здесь, наверное, нужно отдельно сделать функцию поиска первого положительного элемента и функцию суммы элементов?

3.)преобразовать массив таким образом, чтобы сначала распологались все элементы, целая часть которых лежит в интервале [a,b], а потом - все остальные.
C++ (Qt)
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
#include "iostream.h"
#include "stdlib.h"
#include "stdio.h"
#include "math.h"
 
int n,i,d;
float *m=new float[n];
float*& r = m;
float a,b;
 
int //здесь должна быть функция преобразования?
  for(i=0;i<n;i++)
  if((r[i]>=a)&&((r[i]<=b)))//если i больше начала интервала и меньше конца интервала
   cout<<r[i]<<"  ";//вывод i
 
int //и здесь тоже?
 for(i=0;i<n;i++)//цикл for
  if((r[i]<a)||((r[i]>b)))//если i меньше начала интервала и больше конца интервала
   cout<<r[i]<<"  ";//вывод i
 
 int main()
 {
 cout<<"\nVvedite n-kolichestvo elementov massiva";
 cin>>n;//ввод n
 cout<<"\nVvedite d-elementi massiva";
 cin>>d;//ввод d
 
 
 cout<<"\nVvedite nachalo intervala, a= :";
 cin>>a;//ввод а
 
 cout<<"\nVvedite konec intervala, b= :";
 cin>>b;//ввод b
 
  cout<<"\nOrganizovanniy massiv s pomoschu ssilok:\n";
 cout<<"\nRezultat preobrazovania: snachala raspolagayutsa te elementi, celaya chast kotorix legit v [a,b].";
 cout<<"\nZatem razmeschayutsa vse ostalnie:\n";
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.06.2012, 20:07     Оформить одномерный массив в виде функций
Посмотрите здесь:

Оформить программу в виде функций C++
C++ Матрица.Переписать в одномерный массив эл-ты четных столбцов значения которых меньше 1. Оформить в виде Функции
C++ Оформить в виде отдельных функций введения, просмотр и определение количества чисел масива
C++ Оформить программу в виде функций
оформить в виде функции одномерный массив C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xADMIRALx
 Аватар для xADMIRALx
66 / 60 / 1
Регистрация: 09.06.2012
Сообщений: 291
24.06.2012, 22:30     Оформить одномерный массив в виде функций #21
Окей щас сделаем...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
yleart
 Аватар для yleart
60 / 45 / 1
Регистрация: 07.10.2011
Сообщений: 139
24.06.2012, 22:45     Оформить одномерный массив в виде функций #22
Цитата Сообщение от Julia9311 Посмотреть сообщение
по-моему, должно быть так: первая функция находит максимальный элемент в массиве, а вторая - его номер.
А не проще все сделать в одной? Номер максимального элемента передать через & в функцию , а сам элемент возвратить из функции?
xADMIRALx
 Аватар для xADMIRALx
66 / 60 / 1
Регистрация: 09.06.2012
Сообщений: 291
24.06.2012, 22:54     Оформить одномерный массив в виде функций #23
Сделал в одной
C++
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
#include <iostream>
#include <locale>
#include <stdlib>
#define maxs 10
 
 using namespace std;
 void maxind(int *p);
int main()
{
    setlocale(LC_ALL,".1251");
 
    int nums[maxs] = {1,3,6,2,-4,-6,-27,142,45,73};
 
    cout << "Имеем массив : ";
    for (int i = 0; i < maxs;++i)
    {
        cout << nums[i] << " " ;
    }
 
    cout << endl << "Передаем массив в функцию void maxind(int *p)" << endl;
    maxind(nums);
    
 
    system("PAUSE");
    return 0;
}
void maxind(int *p)
{
    int maxelement = p[2];
    int inda = 0;
    for (int i = 0; i < maxs;++i)
    {
        if (p[i] > maxelement)
        {
            maxelement = p[i]; 
            inda = i;
        }
    }
    cout << "максимальное значение в массиве : " << maxelement <<endl << "И его индекс : "<<inda << endl;
 
}
Julia9311
3 / 3 / 0
Регистрация: 05.11.2011
Сообщений: 190
24.06.2012, 22:59  [ТС]     Оформить одномерный массив в виде функций #24
xADMIRALx, спасибо большое!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.06.2012, 23:09     Оформить одномерный массив в виде функций
Еще ссылки по теме:

Оформить в виде функций C++
C++ Оформить в виде функций программу
Оформить простейшие задачи в виде функций C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
xADMIRALx
 Аватар для xADMIRALx
66 / 60 / 1
Регистрация: 09.06.2012
Сообщений: 291
24.06.2012, 23:09     Оформить одномерный массив в виде функций #25
Julia9311
Да не за что )) если что пишите,поможем
Yandex
Объявления
24.06.2012, 23:09     Оформить одномерный массив в виде функций
Ответ Создать тему
Опции темы

Текущее время: 09:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru