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

Динамический массив - C++

Восстановить пароль Регистрация
 
graf1
2 / 0 / 1
Регистрация: 22.03.2010
Сообщений: 18
24.09.2010, 13:59     Динамический массив #1
для каждого массива определить минимальный по модулю элемент и количество положительных элементов массива расположенных ЗА ним. а он считает ПЕРЕД ним. не понимаю как изменить...

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
#include <stdio.h>                 // Подключение внешних файлов(библиотек)
#include <math.h> 
#include<conio.h>                  
#include <iostream>                
using namespace std;               // Пространство имен
int main ()                        // Главная функция
{
     // Обьявляем типы данных
    int i,n,m;
    int num_1=0;
    int num_2=0;// Объявление типы данных
    cin>>n>>m;
    
    float *mass=new float[n], *mass1=new float[m];
    float min;
    cout<<"BBegu mass A: "<<endl; // Вывод на экран 
    for (i=0;i<n;i++) {             // Цикл для ввода массива a
        cin>>mass[i];
    }                              
    cout<<"BBegu mass W: "<<endl; // Запрос о вводе второго массива W
    for (i=0;i<m;i++) {              // Цикл для ввода массива b
        cin>>mass1[i];
    }                              
    min=abs(mass[0]);                     // Нахождение минимального элемента по модулю первого массива и определение его номера
    for (i=0;i<n;i++) {
        if(abs(mass[i])<min) {
            min=abs(mass[i]);
            num_1=i;
        }
 
    }                              
    min=abs(mass1[0]);    // Нахождение минимального элемента по модулю второго массива и определение его номера
    for (i=0;i<m;i++) {
        if(abs(mass1[i])<min) {
            min=abs(mass1[i]);
            num_2=i;
        }
    }   
 
for (i=num_1+1;i<n;i++)
{
    if( abs(mass[i])<min) {
        num_1++;
    }
}
for (i=num_2+1;i<m;i++)
if (abs(mass1[i])<min)
{
    num_2++;
}
        
        
 
 
    
    cout<<endl;                     // Пустая строка 
    cout<<"3a min elementom a "<<num_1<<" chisel"<<endl;   // вывод на экран минимального значения a
    cout<<"3a min elementom w "<<num_2<<" chisel"<<endl; // вывод на экран минимального значения b
                  
    delete mass;
    delete mass1;
    
getch(); // ждет нажатия энтер
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2010, 13:59     Динамический массив
Посмотрите здесь:

Массив: передать динамический массив в функцию и записать в каждый элемент строку из файла C++
динамический массив (Целое число разложить на массив простых множителей) C++
Создать динамический массив (Если чётных чисел больше, то массив должен быть укорочен на 2 элемента) C++
Написать функцию принимающую массив и возвращающую указатель на динамический массив C++
C++ Переделать динамический массив на статический массив
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mamedovvms
2913 / 834 / 93
Регистрация: 30.04.2009
Сообщений: 2,613
24.09.2010, 14:07     Динамический массив #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int counter1=0;
for (i=num_1+1;i<n;i++)
{
        if( mass[i]>0) {
                counter1++;
        }
}
int counter2=0;
for (i=num_2+1;i<m;i++)
if (mass1[i]>0)
{
        counter2++;
}
cout<<"Минимальный по модулю первого массива "<<mass[num_1]<<"/n";
cout<<"Минимальный по модулю второго массива "<<mass[num_2]<<"/n";
cout<<"Количество положительных после минимального в первом массиве "<<counter1<<"/n";
cout<<"Количество положительных после минимального во втором массиве "<<counter2<<"/n";
Dzhej-Dzhej
Заблокирован
24.09.2010, 14:20     Динамический массив #3
C++
1
2
3
4
5
6
7
8
9
      int count1=0;
       for (i=0;i<n;i++) {
                if(abs(mass[i])<min) {
                        min=abs(mass[i]);
                        num_1=i;
                        count1=0;\\если поменялся минимальный
                }
                else count1++;
        }
то же самое для count2
так быстрее
а два последних цикла выкинь
mamedovvms
2913 / 834 / 93
Регистрация: 30.04.2009
Сообщений: 2,613
24.09.2010, 16:43     Динамический массив #4
Dzhej-Dzhej, Конечно можно и так а где проверка на то что элемент положительный????
А вообще если на то пошло, то можно было это сделать и при вводе массивов
Yandex
Объявления
24.09.2010, 16:43     Динамический массив
Ответ Создать тему
Опции темы

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