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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Blimziash
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 9
#1

Массивом - C++

19.04.2010, 22:47. Просмотров 419. Ответов 5
Метки нет (Все метки)

помогите плиз.. чет проблемы с массивом у меня)
Задать два массива вещественных чисел с помощью датчика случайных чисел. Для каждого элемента первого массива найти элементы с равными значениями во втором массиве (указать их индексы), если таковых не обнаружится удалить элемент из первого массива.
На экран вывести как исходный, так и результирующий массивы. На печать числа выводить с двумя знаками после запятой.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.04.2010, 22:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Массивом (C++):

Массивом и динамическим массивом - C++
Составить программу, в которой 1) организовать ввод матрицы размера mxn из целых чисел; 2) вычислить сумму ненулевых элементов, кратных...

с массивом С - C++

С массивом - C++
Требуется в массиве, между минимальным и максимальным элементами (и их кстати) записать в обратном порядке элементы. У меня какой-то бред в...

Задача с массивом - C++
Ребят, помогите с задачей: Вроде все ясно и понятно, сделать массивы со случайными числами от -157.0 до 201.0 тоже, кажется,...

Программа с массивом - C++
Здраствуйте, мне дали программу с массивом, помогите мне её исправить и дополнить. Задание было таковым: Дан массив целых чисел. Найти...

Проблемка с массивом - C++
Всем привет, в общем у меня такая задача: в целочисленном массиве после каждых 3х отрицательных чисел идущих подряд вставить 0. Например...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
toxa92
167 / 94 / 2
Регистрация: 16.04.2010
Сообщений: 464
19.04.2010, 23:58 #2
а если числа вещественные, то зачем знаки после запятой?
объявляешь массив
C++
1
int mas_index[kol_el1]={-1};
присваивание случайного значения
C++
1
mas[i]=rand()%verh_gr;
Дальше цикл со сравнением
C++
1
2
3
for (int i=0;i<kol_el1;i++)
     for (int j=0;j<kol_el2;j++)
          if (mas1[i]==mas2[j]) mas_index[i]=j;
После цикла проходим массив индексов
C++
1
2
3
4
5
6
7
for (int i=0;i<kol_el2;i++)
     if (mas_index[i]==-1)
{
     for (int j=i;j<(kol_el-1);j++)
          mas1[j]=mas[j+1];
kol_el1--;
}
Добавлено через 1 минуту
Может удаление неправильно будет работать
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
20.04.2010, 01:04 #3
Цитата Сообщение от toxa92 Посмотреть сообщение
Может удаление неправильно будет работать
Хорошее заявление)
toxa92
167 / 94 / 2
Регистрация: 16.04.2010
Сообщений: 464
20.04.2010, 01:10 #4
Мне самому такая реализация не нравится совсем=) но думать лень. Надо попробовать, если будет работать неправильно - написать сюда. Там исправим=)))
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
20.04.2010, 01:13 #5
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
#include <iostream>
#include <vector>
#include <ctime>
#include <conio.h>
#include <iterator>
#include <iomanip>
 
int main()
{
    int sizeMas=5;
    std::vector<float> m1(sizeMas);
    std::vector<float> m2(sizeMas);
 
    srand(time(NULL));
    for (int i=0; i<m1.size(); i++)
    //m1.push_back(rand()%10);
    m1[i]=rand()%10;
    for (int i=0; i<m2.size(); i++)
    m2[i]=rand()%10;
 
    std::cout<<"Massiv DO obrabotki"<<std::endl;
    for (int i=0; i<m1.size(); i++)
    std::cout<<std::setw(2)<<m1[i];
    std::cout<<std::endl;
    for (int i=0; i<m2.size(); i++)
    std::cout<<std::setw(2)<<m2[i];
    std::cout<<std::endl;
 
    bool povtor=true;
    std::vector<float>::iterator p1;
    std::vector<float>::iterator p2;
 
    p1=m1.begin();
    while (p1!=m1.end()){
        p2=m2.begin();
        while(p2!=m2.end()){
            if (*p1!=*p2)
            povtor=false;
            else {
                povtor=true;
                break;
            }
            p2++;
        }
        if (!povtor)
        p1=m1.erase(p1);
        else  ++p1;
    }
 
    std::cout<<std::endl;
    std::cout<<"Massiv POSLE obrabotki"<<std::endl;
    for (int i=0; i<m1.size(); i++)
    std::cout<<std::setw(2)<<m1[i];
    std::cout<<std::endl;
    for (int i=0; i<m2.size(); i++)
    std::cout<<std::setw(2)<<m2[i];
 
    getch();
 
    return 0;
}
2 знака после запятой, думаю сами сделаете.)
Blimziash
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 9
22.04.2010, 17:39  [ТС] #6
спасибо огромное)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.04.2010, 17:39
Привет! Вот еще темы с ответами:

Структура с массивом - C++
Доброго времени суток, форумчане! Нужна помощь ) Есть задание: описать структуру с именем train, содержащую поля: - название пункта...

Задача с массивом - C++
Дана такая задача : Все правильно показывает до 6-й степени двойки, а дальше не правильные степени.. в чем ошибка? Выполнил ее...

Сортировка массивом - C++
Какой метод сортировки тут используется???? Можно ли как нибудь подстроить под метод подсчета??? #include &quot;stdafx.h&quot; #include...

Функция с массивом. - C++
Ребят, можете помочь еще с одним заданием. Вычислить значение функции y=sinx-cox(n/x), если n задано, а x изменяется от x1 до x2 с шагом...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
22.04.2010, 17:39
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru