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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Функции, возвращаемый тип http://www.cyberforum.ru/cpp-beginners/thread613014.html
Как сделать так, что бы функция возвращала разный тип данных, в зависимости от некой глобальной переменной? Например, если эта переменная == 1, то вернуть A, если 2 то вернуть B
C++ Не срабатывает перехват исключений Решил перехватить открыие файла,но что то не получается.Компилиться без проблем,но не работает: void ReadAutorunscripts() { try { std::ifstream input_file("Autorunscripts.txt"); char line; while (! input_file.eof()) { http://www.cyberforum.ru/cpp-beginners/thread613010.html
C++ Компиляция в RAD STUDIO
Доброго времени суток , помогите разобраться с компиляцией программ в rad studio. На фото выдает ошибку. И какой пункт надо выбрать для начала написания текста? версия така - Embarcadero® C++Builder® XE Version 15.0.3953.35171 Заранее спасибо.
C++ Правильно ли я понимаю работу этого кода?
#include <iostream> #include <cctype> using namespace std; int main () { char str1 = "Enter first string"; char str2 = "Enter second string"; char *p1, *p2;
C++ Как представить дерево http://www.cyberforum.ru/cpp-beginners/thread612980.html
Как в с++ представить дерево состоящее из 15 вершин и трех внутренних узлов? Добавлено через 3 часа 29 минут Пожалуйста помогите!
C++ Вывод текста на экран с заданной позиции. БИЛЕТ №26 3. Недостатком оператора вывода cout<< является плохой способ форматирования текста. Так, если нужно начать вывод с тридцатой позиции нужно после стрелок написать 30 пробелов, что при программировании с применением таблиц приводит к потерям времени и появлению ошибок. Создайте функцию, с помощью которой можно выводит на экран текст с заданной позиции. Продемонстрируйте её... подробнее

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

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

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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru