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

Для каждого массива определить минимальный по модулю элемент - C++

Восстановить пароль Регистрация
 
graf1
2 / 0 / 1
Регистрация: 22.03.2010
Сообщений: 18
17.09.2010, 10:51     Для каждого массива определить минимальный по модулю элемент #1
даны вещественные массивы a[15] b[15]
для каждого массива определить минимальный по модулю элемент и количество положительных элементов массива расположенных за ним

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
#include <stdio.h>                 // Подключение внешних файлов(библиотек)
#include <math.h> 
#include<conio.h>                  
#include <iostream>                
using namespace std;               // Пространство имен
int main ()                        // Главная функция
{
     // Обьявляем типы данных
    int i,posle,posle_w,n;                         // Объявление типы данных
    //cin>>n;
    float a[5], w[5],mini, min,num_1,num_2;
    cout<<"BBegu mass A: "<<endl; // Вывод на экран 
    for (i=0;i<5;i++) {             // Цикл для ввода массива a
        cin>>a[i];
    }                              
    cout<<"BBegu mass W: "<<endl; // Запрос о вводе второго массива W
    for (i=0;i<5;i++) {              // Цикл для ввода массива b
        cin>>w[i];
    }                              
    min=abs(a[0]);                     // Нахождение минимального элемента по модулю первого массива и определение его номера
    for (i=0;i<5;i++) {
        if(abs(a[i])<min) {
            min=a[i];
            num_1=i;
        }
 
    }                              
    min=abs(w[0]);    // Нахождение минимального элемента по модулю второго массива и определение его номера
    for (i=0;i<5;i++) {
        if(abs(w[i])<min) {
            min=w[i];
            num_2=i;
        }
    }   
num_1=a[0];               // не понимаю как правильно сделать цикл, для второго так же.
for (i=1;i<5;i++)
{
    if( a[i]<min) {
        num_1++;
        
        
 
 
    
    cout<<endl;                     // Пустая строка 
    cout<<"3a min elementom a "<<mini<<" chisel"<<endl;   // вывод на экран минимального значения a
    cout<<"3a min elementom w "<<posle_w<<" chisel"<<endl; // вывод на экран минимального значения b
                  
    
getch(); // ждет нажатия энтер
 
}
цикл, в коменнах отметил и как динамический массив, не понимаю. вот что есть половина задания сделана
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TheMachinist
 Аватар для TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
17.09.2010, 11:16     Для каждого массива определить минимальный по модулю элемент #2
А если

C++
1
2
3
4
5
for (i = num_1; i < 5;i++)
{
   if(a[i] > 0)
posle++;
}
graf1
2 / 0 / 1
Регистрация: 22.03.2010
Сообщений: 18
17.09.2010, 11:20  [ТС]     Для каждого массива определить минимальный по модулю элемент #3
ага, так сделал уже)
щас проверяю ошибки, осталось 4 )
dihlofos
Бродяга
 Аватар для dihlofos
302 / 256 / 17
Регистрация: 27.08.2010
Сообщений: 553
17.09.2010, 11:43     Для каждого массива определить минимальный по модулю элемент #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <iostream.h>
#include <math.h>
 
int main()
{
    float  min=0, kolvo=0;
    int i, i_min=0;
 
    float *a=new float[15]; // дин.массив
 
    cout<<"Input array a: "<<endl;
 
    for (i=0;i<15;i++)  // заполнение
            cin>>a[i];
 
 
    min=fabs(a[0]);
    for (i=1; i<15; i++)
    {
        if (fabs(a[i])<min)
            {
                min = fabs(a[i]);
                kolvo=0;
                i_min=i;
            }
 
        else if (a[i]>0)
            kolvo++;       // подсчёт
    }
 
    cout<<"Min element = "<<a[i_min]<<endl;
    cout<<"Ego index =  = "<<i_min<<endl;
    cout<<"Kolvo = "<<kolvo<<endl;
 
    delete []a;
    cout<<endl<<endl;
    system("pause");
    return 0;
}
Сделал для одного массива, вроде пашет. У вас на abs поди ругается? Используйте fabs.
Yandex
Объявления
17.09.2010, 11:43     Для каждого массива определить минимальный по модулю элемент
Ответ Создать тему
Опции темы

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