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

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

Восстановить пароль Регистрация
 
anton-mix
0 / 0 / 0
Регистрация: 02.11.2011
Сообщений: 68
23.09.2012, 18:42     элементы массива #1
Привет всем
Вообщем сижу и заполняю массив 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;
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2012, 18:42     элементы массива
Посмотрите здесь:

одномерный массив. Все его элементы, не равные нулю, переписать, сохраняя их порядок в начало массива, а нулевые элементы в конец массива in c++ C++
C++ Вывести элементы массива на промежутке [ a,b ], вычислить количество элементов массива, заменить все положительные элементы
Сформировать и вывести на экран новый массив, который будет содержать вначале все элементы массива A(0), затем все элементы массива B(4) C++
C++ Получить массив, расположив в его начале элементы массива A, а затем — элементы массива B
Создать два новых массива, в один из которых поместить положительные элементы массива, а в другой отрицательные и нулевые элементы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BRcr
 Аватар для BRcr
4003 / 2292 / 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";
Обрати внимание, что к чему ты приравниваешь.
anton-mix
0 / 0 / 0
Регистрация: 02.11.2011
Сообщений: 68
23.09.2012, 18:51  [ТС]     элементы массива #3
а ну наоборот a[i]=sum;
но при этом программа падает..
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
23.09.2012, 19:09     элементы массива #4
правильно падает вы делаете обращение к 13 элементу у вас вложенный цикл на туже переменную замените внутренний цикл на j
а еще вывод на экран будет не такой какой вам бы хотелось
BRcr
 Аватар для BRcr
4003 / 2292 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
23.09.2012, 19:14     элементы массива #5
Цитата Сообщение от anton-mix Посмотреть сообщение
но при этом программа падает..
Да? А у меня работает себе потихоньку. Кстати, srand() вынеси за цикл - эту функцию полагается вызывать однократно.

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

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

Неправильно, во вложенном цикле переменная тоже объявляется, пусть и одноименная. Читаем про область видимости.
не заметил ,что он их внутри объявляет
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, а как мне сделать вывод такой, какой я хочу?
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 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;
 
}
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";
        }
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
23.09.2012, 19:44     элементы массива #10
ну тоже самое что и у меня посмотрите внимательно
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, я твой коммент не видел(точнее страницу не обновлял=))
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
23.09.2012, 19:54     элементы массива #12
возьми мой код и проблема решится
anton-mix
0 / 0 / 0
Регистрация: 02.11.2011
Сообщений: 68
23.09.2012, 20:44  [ТС]     элементы массива #13
я уж понял что там нужно было сделать) спасибо!)
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
23.09.2012, 21:01     элементы массива #14
Цитата Сообщение от anton-mix Посмотреть сообщение
я уж понял что там нужно было сделать) спасибо!)
для этого есть кнопочка
taras atavin
Ушёл с форума.
 Аватар для 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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.09.2012, 13:15     элементы массива
Еще ссылки по теме:

C++ Получить третий массив C[15] по правилу: вначале элементы первого массива, затем элементы второго массива
C++ Записать элементы массива Х в массив У, сместив элементы массива Х вправо на 3 позиции
C++ Записать элементы массива Х в массив У, сместив элементы массива Х вправо на 3 позиции

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

Или воспользуйтесь поиском по форуму:
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
24.09.2012, 13:15     элементы массива #16
Цитата Сообщение от taras atavin Посмотреть сообщение
во вложенном цикле
взгялине на тему внимательно про это уже говорилось у него не вложеный цикл а два цикла , ты слышал про области видимости? посмотри где инициализируются счетчики циклов
Yandex
Объявления
24.09.2012, 13:15     элементы массива
Ответ Создать тему
Опции темы

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