Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
5 / 3 / 2
Регистрация: 11.11.2013
Сообщений: 349
1

Сформировать массив S, состоящий из одинаковых элементов исходных массивов

01.07.2014, 20:15. Показов 4345. Ответов 5
Метки нет (Все метки)

2 массива X, Y, каждый из 10 эл-в. Сформировать массив S, состоящий из одинаковых эл-в исходных массивов.
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
#include<iostream>
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<iomanip>
 
using namespace std;
 
main()
{
    //setlocale(LC_ALL, "Russian");
    //setlocale(0, "");
    int n=10, x[n], y[n], s[n];
    srand((unsigned)time(NULL));
    std::cout<<"Массив X:"<<std::endl;
    for (int i=0; i<n; i++)
    {
        x[i]=rand()%21-15;
        cout<<x[i]<<" ";
    }
    cout<<endl;
    std::cout<<"Массив Y:"<<std::endl;
    for (int i=0; i<n; i++)
    {
        y[i]=rand()%21-15;
        cout<<y[i]<<" ";
    }
    cout<<endl;
/// 
    for (int i=0; i<n; i++)
    {
        s[i]=x[i];
    }
    for (int j=0; j<n; j++)
    {
        s[n]=y[j];
        n++;
    }
    std::cout<<"Массив S:"<<std::endl;
    for (int i=0; i<n; i++)
    {
        cout<<s[i]<<" ";
    }
///
    system("pause");
    return 0;
}
Падает на предпоследнем for. Помогите решить проблему.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.07.2014, 20:15
Ответы с готовыми решениями:

Сформировать массив, состоящий из одинаковых элементов выходных массивов
Ввести два массива X и Y, состоящие из 10-ти элементов целого типа. Сформировать массив S,...

Сформировать вектор, состоящий из одинаковых элементов исходных векторов
Ввести два вектора X и Y, состоящих из 10-ти элементов целого типа. Сформировать вектор S,...

Сформировать массив из элементов исходных массивов, меньших произведения последних элементов заданных массивов.
Программа должна: 1)генерировать случайным образом элементы исходных массивов; 2)выполнять...

Сформировать третий массив, состоящий из тех элементов, которые присутствуют в двух исходных
Задача: Даны два массива. Сформировать третий массив, состоящий из тех элементов, которые...

5
6968 / 6013 / 2731
Регистрация: 14.04.2014
Сообщений: 25,741
01.07.2014, 20:40 2
Выходишь за границы массива. n изначально равно десяти, то есть уже за границами. И вообще не надо задавать размер статических массивов изменяемой переменой. Либо
C++
1
int x[10], y[10], s[10];
Либо
C++
1
2
const int n=10;
int x[n], y[n], s[n];
0
5 / 3 / 2
Регистрация: 11.11.2013
Сообщений: 349
01.07.2014, 20:44  [ТС] 3
nmcf, тогда на
n++ ругается в цикле. Мне же размер массива нужно увеличивать для S, когда он эл-т находим.
Убрал я его. Массив S получается чисто как X .
0
1 / 1 / 2
Регистрация: 01.07.2014
Сообщений: 49
01.07.2014, 20:52 4
Вы увеличиваете n и при этом кол-во повторов цикла равно n.
Что-то не так.
0
5 / 3 / 2
Регистрация: 11.11.2013
Сообщений: 349
01.07.2014, 20:55  [ТС] 5
Эм... Я походу не правильно подумал...
Я их похоже по коду хотел вместе соединить в 1 массив. А мне нужно из одинаковых...
0
6968 / 6013 / 2731
Регистрация: 14.04.2014
Сообщений: 25,741
01.07.2014, 21:33 6
Лучший ответ Сообщение было отмечено b0nny как решение

Решение

n оставь для размера массивов и условий в циклах. Для других целей придумай другую переменную.

Добавлено через 37 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int k, sn = 0;
for (int i = 0; i < n; i++)
{
    for (int j=0; j<n; j++)
    {
        if(x[i] == y[j])
        {
            for(k = 0; k < sn; k++) if(s[k] == x[i]) break;
            if(k == sn)
            {
                s[sn] = x[i];
                sn++;
            }
        }
    }
}
for(k = 0; k < sn; k++) cout << s[k] << " ";
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.07.2014, 21:33

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Сформировать массив из элементов исходных массивов, образующих возрастающую последовательность
Задача: Заданы массивы целых положительных чисел X(n), Y (k), Z(m). Сформировать массив U из таких...

Требуется сформировать и вывести упорядоченный по неубыванию массив С, состоящий из элементов массивов A и B
Даны массив A из N целых элементов, массив B из M целых элементов. Оба массива упорядочены по...

Сформировать массив, состоящий из одинаковых элементов исходных массивов
Ввести два массива X и Y, состоящих из 10-ти элементов целого типа. Сформировать массив S,...

Сформировать новый массив, состоящий из элементов, равных соответственно суммам исходных массивов
помогите пожалуйста решить задачу даны три массива VEC 1=(1.0; 3.9; -2.6) VEC 2= (-7; 4.6;...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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