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

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

Войти
Регистрация
Восстановить пароль
 
 
anton-mix
0 / 0 / 0
Регистрация: 02.11.2011
Сообщений: 68
#1

элементы массива - C++

23.09.2012, 18:42. Просмотров 461. Ответов 15
Метки нет (Все метки)

Привет всем
Вообщем сижу и заполняю массив M рандомными числами, потом суммирую их и добавляю в другой массив A
но когда вывожу массив A на экран получается всего лишь одно число...в чем проблема

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
int main()
{
    int a[12];
    for(int i=0;i<12;i++)
    {
 
        int m[12];
        srand((unsigned)time(NULL));
        int sum=0;
        for(int i=0;i<12;i++)
        {
            m[i]=rand() %30-12;
            cout<<m[i]<<"\n";
            sum+=m[i];
        }
 
        cout<<endl;
        cout<<"SUM"<<endl;
        cout<<sum;
 
        cout<<endl;
        cout<<"massiv"<<endl;
        sum=a[i];
        cout<<a[i]<<"\n";
 
    }
 
    return 0;
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2012, 18:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос элементы массива (C++):

Создать два новых массива, в один из которых поместить положительные элементы массива, а в другой отрицательные и нулевые элементы - C++
Написать программу , которая вводит с клавиатуры массив из N вещественных чисел , создает два новых массива , в один из которых помещает...

Вывести элементы массива на промежутке [ a,b ], вычислить количество элементов массива, заменить все положительные элементы - C++
В одномерном массиве, состоящем из n вещественных элементов, – вывести на печать элементы массива, значения которых не принадлежат...

Получить третий массив C[15] по правилу: вначале элементы первого массива, затем элементы второго массива - C++
Даны массивы A, B. Нужно получить третьи массив C состоящий: вначале элементы первого массива, затем элементы второго массива.

Разделить элементы одного массива на элементы другого массива, записать результат в третий массив - C++
Как разделить элементы одного массива на элементы другого массива? есть массив a и есть массив b. размеры a=b. ввожу новый массив,...

одномерный массив. Все его элементы, не равные нулю, переписать, сохраняя их порядок в начало массива, а нулевые элементы в конец массива in c++ - C++
одномерный массив. Все его элементы, не равные нулю, переписать, сохраняя их порядок в начало массива, а нулевые элементы в конец...

Получить массив, расположив в его начале элементы массива A, а затем — элементы массива B - C++
Помогите решить такую вот задачку (Даны массивы A и B. Получить массив C, расположив в его начале элементы массива A, а затем — элементы...

15
BRcr
4008 / 2297 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
23.09.2012, 18:48 #2
Цитата Сообщение от anton-mix Посмотреть сообщение
C++
1
2
sum=a[i];
cout<<a[i]<<"\n";
Обрати внимание, что к чему ты приравниваешь.
0
anton-mix
0 / 0 / 0
Регистрация: 02.11.2011
Сообщений: 68
23.09.2012, 18:51  [ТС] #3
а ну наоборот a[i]=sum;
но при этом программа падает..
0
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
23.09.2012, 19:09 #4
правильно падает вы делаете обращение к 13 элементу у вас вложенный цикл на туже переменную замените внутренний цикл на j
а еще вывод на экран будет не такой какой вам бы хотелось
0
BRcr
4008 / 2297 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
23.09.2012, 19:14 #5
Цитата Сообщение от anton-mix Посмотреть сообщение
но при этом программа падает..
Да? А у меня работает себе потихоньку. Кстати, srand() вынеси за цикл - эту функцию полагается вызывать однократно.

Добавлено через 1 минуту
Цитата Сообщение от Nixy Посмотреть сообщение
у вас вложенный цикл на туже переменную замените внутренний цикл на j
Неправильно, во вложенном цикле переменная тоже объявляется, пусть и одноименная. Читаем про область видимости.
0
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
23.09.2012, 19:16 #6
Цитата Сообщение от BRcr Посмотреть сообщение
Да? А у меня работает себе потихоньку. Кстати, srand() вынеси за цикл - эту функцию полагается вызывать однократно.

Добавлено через 1 минуту

Неправильно, во вложенном цикле переменная тоже объявляется, пусть и одноименная. Читаем про область видимости.
не заметил ,что он их внутри объявляет
0
anton-mix
0 / 0 / 0
Регистрация: 02.11.2011
Сообщений: 68
23.09.2012, 19:27  [ТС] #7
http://www.10pix.ru/img1/4183/8551305.th.png
вот такая ошибка выпадает

Добавлено через 1 минуту
исправил, в одном месте не досмотрел! только вод теперь набор цифр просто фигачит

Добавлено через 17 секунд
прямо подряд

Добавлено через 1 минуту
Nixy, а как мне сделать вывод такой, какой я хочу?
0
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
23.09.2012, 19:36 #8
Цитата Сообщение от anton-mix Посмотреть сообщение
а как мне сделать вывод такой, какой я хочу?
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
#include <ctime>
#include <iostream>
using namespace std;
int main()
{
  srand(time(0));
    int a[12];
    for(int i=0;i<12;i++)
    {
 
        int m[12];
 
        int sum=0;
        for(int i=0;i<12;i++)
        {
            m[i]=rand() %30-12;
            cout<<m[i]<<" ";
            sum+=m[i];
        }
        cout<<endl;
        cout<<"SUM"<<endl;
        cout<<sum;
        cout<<endl;
        cout<<endl;
        a[i]=sum;
      }
      cout<<"massiv"<<endl;
      for(int i=0;i<12;i++)
       cout<<a[i]<<" ";
 
    system("pause");
    return 0;
 
}
0
anton-mix
0 / 0 / 0
Регистрация: 02.11.2011
Сообщений: 68
23.09.2012, 19:40  [ТС] #9
не вроде как выводится что надо, но вот как вывести правильно? в виде массива?

Добавлено через 2 минуты
вот так вывод организовать?
C++
1
2
3
4
5
a[i]=sum;
        for(int j=0;j<12;j++)
        {
                      cout<<a[j]<<"\n";
        }
0
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
23.09.2012, 19:44 #10
ну тоже самое что и у меня посмотрите внимательно
0
anton-mix
0 / 0 / 0
Регистрация: 02.11.2011
Сообщений: 68
23.09.2012, 19:48  [ТС] #11
что означают эти цифры?
http://www.10pix.ru/img1/1957/8551547.th.png
то, что у меня в тих элементах массив не заполняется?

Добавлено через 1 минуту
Nixy, я твой коммент не видел(точнее страницу не обновлял=))
0
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
23.09.2012, 19:54 #12
возьми мой код и проблема решится
0
anton-mix
0 / 0 / 0
Регистрация: 02.11.2011
Сообщений: 68
23.09.2012, 20:44  [ТС] #13
я уж понял что там нужно было сделать) спасибо!)
0
Nixy
ComfyMobile
400 / 281 / 8
Регистрация: 24.07.2012
Сообщений: 916
23.09.2012, 21:01 #14
Цитата Сообщение от anton-mix Посмотреть сообщение
я уж понял что там нужно было сделать) спасибо!)
для этого есть кнопочка
0
taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
24.09.2012, 10:57 #15
anton-mix, ты просто предваряешь вывод каждого элемента заголовком всего массива. Кроме того, нельзя во вложенном цикле и в том же качестве использовать счётчи, или иттератор внешнего.
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
include <iostream.h>
void Output(int *a, int n);
int main()
{
 int a[12];
 int i;
 int j;
 int m[12];
 srand((unsigned)time(NULL));
 for(i=0;i<12; ++i)
 {
  a[i]=0;
  for(j=0;j<12;++j)
  {
    m[j]=rand() %30-12;
    a[i]+=m[j];
  }
  Output(m, "m", 12);
 }
 Output(a, "a", 12);
 return 0;
}
void Output(int *a, char s, int n)
{
 --n;
 cout<<s<<endl;
 for (i=0; i<n; ++i)
 {
  cout<<a[i]<<", ";
 }
 cout<<a[i]<<"."<<endl;
}
0
24.09.2012, 10:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.09.2012, 10:57
Привет! Вот еще темы с ответами:

Записать элементы массива Х в массив У, сместив элементы массива Х вправо на 3 позиции - C++
Записать элементы массива Х в массив У, сместив элементы массива Х вправо на 3 позиции, при этом 3 элемента массива Х перемещаются в начало

Записать элементы массива Х в массив У, сместив элементы массива Х вправо на 3 позиции - C++
Записать элементы массива Х в массив У, сместив элементы массива Х вправо на 3 позиции

Сформировать и вывести на экран новый массив, который будет содержать вначале все элементы массива A(0), затем все элементы массива B(4) - C++
Здравствуйте! Помогите написать парочку программ... 3. Даны массивы A(0) и B(4). Сформировать и вывести на экран новый массив,...

Все положительные элементы поместить в начало массива В(n), а отрицательные элементы — в начало массива С(n) - C++
Ребята. Помогите с задачей пожалуйста. Дан массив А(n). Все положительные его элементы поместить в начало массива В(n), а...


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

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

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