Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 02.11.2011
Сообщений: 68
1

элементы массива

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

Author24 — интернет-сервис помощи студентам
Привет всем
Вообщем сижу и заполняю массив 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.09.2012, 18:42
Ответы с готовыми решениями:

Сформируйте третий массив, в котором в начале расположены элементы первого массива, а затем элементы второго массива
Даны два целочисленных массива. Сформируйте третий массив, в котором в начале расположены элементы...

Переставить элементы массива X с нечетными номерами в начало массива Y в том же порядке, затем элементы с четными номера
Здравствуйте, не могу создать массив Y по заданию.Ниже будет код массива X. Задание...

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

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

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

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

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

Неправильно, во вложенном цикле переменная тоже объявляется, пусть и одноименная. Читаем про область видимости.
не заметил ,что он их внутри объявляет
0
1 / 1 / 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
ComfyMobile
401 / 282 / 34
Регистрация: 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
1 / 1 / 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
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
23.09.2012, 19:44 10
ну тоже самое что и у меня посмотрите внимательно
0
1 / 1 / 0
Регистрация: 02.11.2011
Сообщений: 68
23.09.2012, 19:48  [ТС] 11
что означают эти цифры?
http://www.10pix.ru/img1/1957/8551547.th.png
то, что у меня в тих элементах массив не заполняется?

Добавлено через 1 минуту
Nixy, я твой коммент не видел(точнее страницу не обновлял=))
0
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
23.09.2012, 19:54 12
возьми мой код и проблема решится
0
1 / 1 / 0
Регистрация: 02.11.2011
Сообщений: 68
23.09.2012, 20:44  [ТС] 13
я уж понял что там нужно было сделать) спасибо!)
0
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
23.09.2012, 21:01 14
Цитата Сообщение от anton-mix Посмотреть сообщение
я уж понял что там нужно было сделать) спасибо!)
для этого есть кнопочка
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
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
ComfyMobile
401 / 282 / 34
Регистрация: 24.07.2012
Сообщений: 916
24.09.2012, 13:15 16
Цитата Сообщение от taras atavin Посмотреть сообщение
во вложенном цикле
взгялине на тему внимательно про это уже говорилось у него не вложеный цикл а два цикла , ты слышал про области видимости? посмотри где инициализируются счетчики циклов
0
24.09.2012, 13:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.09.2012, 13:15
Помогаю со студенческими работами здесь

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

Удалите из массива наименьший и наибольший элементы, сдвинув все оставшиеся элементы к началу массива
Дан массив. Удалите из массива наименьший и наибольший элементы, сдвинув все оставшиеся элементы к...

Массив: Заменить все отрицательные элементы массива их квадратами и упорядочить элементы массива по возрастанию.
Сформировать массив 20 целых случайных чисел в диапазоне от минус 30 до 30. Напечатать его....

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


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru