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

В одномерном массиве, состоящем из n вещественных элементов, вычислить номер минимального по модулю элемента массива - C++

Восстановить пароль Регистрация
 
Dicharmed
0 / 0 / 0
Регистрация: 22.10.2013
Сообщений: 19
24.02.2014, 21:22     В одномерном массиве, состоящем из n вещественных элементов, вычислить номер минимального по модулю элемента массива #1
Пытаюсь переделать статический в динамический. что-то не получается.
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
Задание 1. Номер минимального по модулю элемента массива;
Задание 2. Сумму модулей элементов массива, расположенных после первого отрицательного элемента.
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#include <iostream>
#include <time.h>
#include <fstream>
using namespace std;
int InpN()
{
    int n;
    do
    {
        cout<<"Введите текущий размер массива "<<endl;
        cin>>n;
    }while (n<=0);
    return n;
}
int* Zap (int n, int *A,int a,int b)
{
    srand (unsigned int(time(0)));
    int *p=A;
    for (int i=0; i<n; i++,p++)
    *p=rand()%(b-a+1)+a;
    return A;
}
int *Zap (int n, int *A)
{
    int *p=A;
    for (int i=0; i<n; i++,p++)
    {
        cout<<i+1<<"Элемент массива->";
        cin>>*p;
    }
    return A;
   }
int Zap (int &n, int *&A,char Name[])
{
    int *p=A;
    ifstream f (Name);
    if (!f) {cout<<"Error"; return 1;}
    for (int i=0; i<n&&(!f.eof()); i++,p++)
        {f>>*p;
    n=i;}
    f.close();
    return 0;
}
void Print (int &n, int *A)
{
    int*p=A;
    for (int i=0; i<n; i++,p++)
            cout<<" "<<*p;
        cout<<endl;
        
}
 
int *Min(int *A,int n)
{
    /*int *p=A;*/
    
    int min=A[0];
    for(int k=1;k<n;k++/*,p++*/)
    {
        if (*(A+k)<min) min=*(A+k);
        /*if (min>*p) min=*p;*/
        
        
    }
    return min;/*error C2440: return: невозможно преобразовать "int" в "int *"*/
}
int *Nom (int *A,int&n,int min)
{
    int m=A[0];
    int imin=0; 
    for (int k=0;k<n;k++)
    {
        if(Array[k]<m)
        {
            m=Array[k];
            imin=k;
        }   
 
    }       
 
    
    cout<<"Номер минимального элемента массива: "<<imin+1<<endl;
    
    return m;   
}
//int Summa(int Array[],int n)
//{
//  int i;
//  int S=0;
//  for(i=0;i<n&&Array[i]>0;i++);
//  if(i<n)
//      {
//          i++;
//          for(;i<n;i++)
//          S+=Array[i];
//      }
//  else cout<<"Нет отрицательных чисел!"<<endl;
//  return S;
//}
//
 
 
 
int main()
{
    setlocale(0,"");
    int n=InpN();
    int *Array=new int[n];
    cout<<"Заполнение массива: 1- Случайными, 2- С клавиатуры,3-Из файла"<<endl;
    int t;
    cin>>t;
    switch (t)
    {
        case 1 : 
        int a,b;
        cout<<"ВВ диапазон"<<endl;
        cin>>a>>b;
        Array=Zap( n,Array,a,b);break;
        case 2:
        Array=Zap(n,Array) ;break;
        case 3:
        if (Zap (n, Array,"Name.txt"))return 0;break;
    }
    cout<<endl<<"Исходный массив"<<endl;
        Print (n,Array);
        delete[] Array;
    /*const int Nmax=200;
    int Array[Nmax],Sum;
    int n=InpN(Nmax);int k=0;int m=0;   
    
    cout<<endl<<"Исходный массив"<<endl;
    Print (n,Array,1);  
    m=Min(Array,k);
    Nom(Array,n,m);
    Sum=Summa(Array,n);
    cout<<"Сумма= "<<Sum<<endl;*/
    system ("pause");
    return 0;
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2014, 21:22     В одномерном массиве, состоящем из n вещественных элементов, вычислить номер минимального по модулю элемента массива
Посмотрите здесь:

C++ В одномерном массиве, который состоит из n вещественных элементов подсчитать номер минимального элемента массива
C++ В одномерном массиве, состоящем из N целых элементов, вычислить номер максимального элемента массива
В одномерном массиве, состоящем из n вещественных элементов, вычислить номер минимального по модулю элемента и сумму модулей элеменов массива. C++
В одномерном массиве, состоящем из N целых элементов, вычислить номер максимального элемента массива C++
Шаблоны функций. В одномерном массиве, состоящем из n вещественных элементов, вычислить номер максимального по модулю элемента массива C++
В одномерном массиве вычислить номер минимального элемента массива C++
C++ В одномерном массиве, состоящем из n элементов, вычислить минимальный по модулю элемент массива
C++ В одномерном массиве, состоящем из n вещественных элементов, вычислить максимальный по модулю элемент

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Genn55
341 / 188 / 37
Регистрация: 26.12.2012
Сообщений: 658
25.02.2014, 00:13     В одномерном массиве, состоящем из n вещественных элементов, вычислить номер минимального по модулю элемента массива #2
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
42
43
44
#include <iostream>
#include <time.h>
#include <stdlib.h>
#include <cmath>
 
using namespace std;
 
int main()
{
    srand ( time(NULL) );
    int N =10;// размер масивов.
    double* mas = new double [N];
    for (int i=0;i<N;i++)
    {
 
        mas[i]=- 5.00 + ((rand() % 1001) / 100.0); // генерируем случайные числа [-5, 5]
        cout<<mas[i]<<", ";
     }
     cout<<"\n";
     double min = mas[0];
     int pos_min = 0;
     int pos_otr = 0;
 
    for (int i=0;i<N;i++)
    {
      if (fabs (mas[i]) <fabs(min))
          {
            min = mas[i];//для наглядности если не нужен удалите
            pos_min = i+1;
          }
    }
    for (int i=0;i<N;i++)
      if (mas[i]< 0)
         {
            pos_otr = i+1;//позиция после первого отрицательного
            break;
         }
    double sum = 0;
    for (int i=pos_otr;i<N;i++)
    sum += fabs(mas[i]);
    cout << min <<"    "<<pos_min<<"    "<<pos_otr<<"    "<< sum;
    cout<<"\n";
    return 0;
}

По заданию.
Остальное делайте сами,что не понятно спрашивайте.
Yandex
Объявления
25.02.2014, 00:13     В одномерном массиве, состоящем из n вещественных элементов, вычислить номер минимального по модулю элемента массива
Ответ Создать тему
Опции темы

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