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

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

Войти
Регистрация
Восстановить пароль
 
 
Hardcore
4 / 4 / 0
Регистрация: 24.10.2010
Сообщений: 200
#1

массив - C++

09.12.2010, 16:07. Просмотров 707. Ответов 19
Метки нет (Все метки)

помогите написть код суммы рандомного массива.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2010, 16:07     массив
Посмотрите здесь:

Вывести на печать массив X, массив Z, массив Y, произведение элементов массива X, упорядоченный массив Y - QBasic
Вывести на печать массив X, массив Z, массив Y, произведение элементов массива X, упорядоченный массив Y. ...

Дан одномерный массив A из N элементов. Переписать положительные элементы массива в массив B, а отрицательные в массив C - Pascal
Дан одномерный массив A из N элементов. Переписать положительные элементы массива в массив B, а отрицательные в массив C.

Дан массив целых чисел а(12). Переписать в массив х четные, а в массив у нечетные элементы массива а - Turbo Pascal
Помогите пожалуйста решить эту задачу. Массив a выводит на печать. Я пишу a mod 2 = 0 , а он мне 41 ошибку выдает. Что делать? Вот...

Сформировать массив, который будет состоять из чисел, входящих как в массив A, так и в массив B - C (СИ)
Задание: На основе исходных массивов A и B (n и m – рабочие размеры массивов) сформировать массив C, который будет состоять из чисел,...

Массив: Отсортировать полученный массив 3 способами: по строкам, по столбцам( возр.), 3) и весь массив - Delphi
Помогите, пожалуйста ,решить задачу. Очень нужно. Задан массив (4*6). Элементы задаются по правилу: если j>3, то Aij=i+j, иначе...

Массив: Как сделать так, чтобы результирующий массив представлял собой измененный по заданным правилам первый массив? - C++ Builder
Доброй ночи форумчане, очередной нубо-вопрос не требует отлагательств имеется одномерный массив, из которого по заданным условиям...

Массив. Разделить на два: массив элементов с четными и массив с нечетными индексами - Pascal ABC
VII.Одномерные массивы 50. Задан массив с количеством элементов N. Сформировать два массива: в первый включить элементы исходного массива...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
09.12.2010, 16:14     массив #2
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
#include <iostream>
#include <ctime>
 
using namespace std;
 
int main()
{
    srand(static_cast<int>(time(NULL)));
    int *arr;
    int sum=0,size;
    cout<<"Enter sise of array: ";
    cin>>size;
    arr = new int[size];
    cout<<endl<<"Array: "<<endl;
    for(int i=0; i<size; i++)
    {
            arr[i]=rand()%5-2;
            cout<<arr[i]<<"  ";
            sum+=arr[i];
    }
     cout<<endl<<"Sum is "<<sum<<endl;  
   delete [] arr;
   system("pause");
   return 0;
}
Hardcore
4 / 4 / 0
Регистрация: 24.10.2010
Сообщений: 200
09.12.2010, 16:20  [ТС]     массив #3
MILAN,
прокомпилирвуй полная чужь выходит.
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
09.12.2010, 16:23     массив #4
Интересно

http://codepad.org/Wd2lLDM7
Hardcore
4 / 4 / 0
Регистрация: 24.10.2010
Сообщений: 200
09.12.2010, 16:35  [ТС]     массив #5
а двумерного массива?
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
09.12.2010, 16:58     массив #6
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 <iostream>
#include <ctime>
 
using namespace std;
 
int main()
{
        srand(static_cast<int>(time(NULL)));
        int **arr;
        int sum=0,M,N;
        cout<<"Enter M: ";
        cin>>M;
        cout<<"Enter N: ";
        cin>>N;
        arr = new int*[M];
        cout<<endl<<"Array: "<<endl;
        for(int i=0; i<M; i++)
        {
            arr[i]=new int[N];
            for(int j=0; j<N; j++)
            {
                    arr[i][j]=rand()%5-2;
                    cout<<arr[i][j]<<"  ";
                    sum+=arr[i][j];
            }
          cout<<endl;
        }
     cout<<endl<<"Sum is "<<sum<<endl;  
   for(int i=0; i<M; i++)
       delete arr[i];
         delete [] arr;
   system("pause");
   return 0;
}
Feytan
1 / 1 / 0
Регистрация: 09.12.2010
Сообщений: 93
10.12.2010, 12:59     массив #7
А как будет выглядеть код, если нужно вычислить сумму элементов матрицы, если матрица задается в виде двумерного массива? также?
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
10.12.2010, 15:56     массив #8
Feytan, двумерный массив ето и есть матрица!!!!
Feytan
1 / 1 / 0
Регистрация: 09.12.2010
Сообщений: 93
10.12.2010, 16:27     массив #9
А вот к примеру:
Для матрицы размером n x m вычислить сумму элементов матрицы, причем исходная матрица задается в виде двумерного массива случайным образом.
То я должен чуток изменить эту схему, и получить вот что:
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
#include "stdafx.h"
#include <iostream>
#include <ctime>
 
using namespace std;
 
int main()
{
        srand(static_cast<int>(time(NULL)));
        int **arr;
        int sum=0,N,M;
        cout<<"Enter N: ";
        cin>>N;
                cout<<"Enter M: ";
                cin>>M;
                arr = new int*[N];
        cout<<endl<<"Array: "<<endl;
        for(int i=0; i<N; i++)
        {
                        arr[i]=new int[M];
                        for(int j=0; j<M; j++)
                        {
                    arr[i][j]=rand()%5-2;
                    cout<<arr[i][j]<<"  ";
                    sum+=arr[i][j];
                        }
          cout<<endl;
                }
     cout<<endl<<"Sum is "<<sum<<endl;  
   for(int i=0; i<N; i++)
           delete arr[i];
             delete [] arr;
   system("pause");
   return 0;
}
Но тогда непонятно что означают слова: "в виде двумерного массива случайным образом", само понятие двумерного массива понятно, но что значит случайным образом, может просто числа располагаются в массиве случайным образом или что-то подобное? и влияет ли это на код программы?
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
10.12.2010, 16:29     массив #10
Я так понимаю, что матрица должна заполнятся случайными числами, тоисть с помощью функции rand!!!
Feytan
1 / 1 / 0
Регистрация: 09.12.2010
Сообщений: 93
10.12.2010, 16:57     массив #11
Значит как я понял код пограммы неизменяется.

И вот еще что, а что если к полученной программе, добавить условие:
Умножить на это чило(как я понимаю сумму элементов матрицы) элементы k-той строки. Значение k вводится.

То мы должны сперва использовать
C++
1
int temper [k];
или что-то другое
Но тогда нам следует ввести ее, используя
C++
1
2
cout<<"Enter k: ";
cin>>k;
Но в этом у меня полный завал, куда что ставить и в какой последовательности непонимаю?
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
10.12.2010, 22:40     массив #12
Feytan, если я вас правильно понял, то вот, проверяйте

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
#include <iostream>
#include <ctime>
 
using namespace std;
 
int main()
{
        srand(static_cast<int>(time(NULL)));
        int **arr;
        int sum=0,M,N,k;
        cout<<"Enter M: ";
        cin>>M;
                cout<<"Enter N: ";
                cin>>N;
                arr = new int*[M];
        cout<<endl<<"Array: "<<endl;
        for(int i=0; i<M; i++)
        {
              arr[i]=new int[N];
              for(int j=0; j<N; j++)
                {
                    arr[i][j]=rand()%5-2;
                    cout<<arr[i][j]<<"  ";
                    sum+=arr[i][j];
                }
          cout<<endl;
        }
     cout<<endl<<"Sum is "<<sum<<endl;  
     cout<<"Enter k: ";
     cin>>k;
     cout<<endl<<"New matrix: "<<endl;
     for(int i=0; i<M; i++)
     {
         for(int j=0; j<N; j++)
         {
             if(i==k-1)
             {
                 arr[i][j]*=sum;
             }
            cout<<arr[i][j]<<"  ";
         }
       cout<<endl;    
     }
     for(int i=0; i<M; i++)
           delete arr[i];
             delete [] arr;
   system("pause");
   return 0;
}
Feytan
1 / 1 / 0
Регистрация: 09.12.2010
Сообщений: 93
10.12.2010, 23:51     массив #13
Вопрос по программному коду:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <ctime>
 
using namespace std;
 
int main()
{
        srand(static_cast<int>(time(NULL)));
        int **arr;
        int sum=0,M,N,k;
        cout<<"Enter M: ";
        cin>>M;
Разве мы ищем сумму всех членов, я имею ввиду, начиная с 0,M,N,k
Мы же ищем сумму марицы, разве не правильнее будет записать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <ctime>
 
using namespace std;
 
int main()
{
        srand(static_cast<int>(time(NULL)));
        int **arr, k = 0;
        int sum=0,M,N;
        cout<<"Enter M: ";
        cin>>M;
Насчет этого точно не знаю потому и спрашиваю?

И вот еще что, для чего нужно условие и о чем оно говорит
C++
1
2
3
4
 if(i==k-1)
{
arr[i][j]*=sum;
}
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
10.12.2010, 23:57     массив #14
Цитата Сообщение от Feytan Посмотреть сообщение
Разве мы ищем сумму всех членов, я имею ввиду, начиная с 0,M,N,k
Мы же ищем сумму марицы, разве не правильнее будет записать:
Ведь сума матрицы, ето и есть сума всех ее членов.

Цитата Сообщение от Feytan Посмотреть сообщение
И вот еще что, для чего нужно условие и о чем оно говорит
if(i==k-1)
{
arr[i][j]*=sum;
}
к - номер строки, елеметнты которой нужно умножыть на сумму. В цикле i - счетчик строк. Если счетчик (i) равняется номеру введеной строки, умножает каждый елемент строки на сумму матрицы!!!!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2010, 00:42     массив
Еще ссылки по теме:

Вывести массив а(i, j), одномерный массив b(i) и полученный массив АВ с помощью функции Cells - VBA
Задача 1 Написать программу для решения следующей задачи: для числа n вводимого с клавиатуры (с помощью функции InputBox())...

Построить массив d из элементов, которые входят как в массив a так и в массив b - C (СИ)
Дан массив a и b состоящий из n элементов. Построить массив d из элементов, которые входят как в массив a так и в массив b. Желательно с...

Ввести массив А. В массив В перенести все элементы массива А, стоящие правее максимального элемента, и имеющие нечетный индекс. Массив В отсортировать - C++
Добрый Вечер! Написал первую часть программы по этому заданию&quot;Ввести массив А. В массив В перенести все элементы массива А, стоящие правее...

Двумерный массив.Дан массив 5 х 5. Определить сумму элементов тех строк, где диагональный элемент равен нулю и записать их в отдельный массив. - Turbo Pascal
помогите составить программу. во задание:Дан массив 5 х 5. Определить сумму элементов тех строк, где диагональный элемент равен нулю и...

Дан массив С (N). Нечетные элементы поместить в массив A, а четные в массив В - Pascal ABC
Ребят помогите решить задачу на паскале и на бейсике. Дан массив С (N). Нечетные элементы поместить в массив A, а четные в массив...


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

Или воспользуйтесь поиском по форуму:
Feytan
1 / 1 / 0
Регистрация: 09.12.2010
Сообщений: 93
11.12.2010, 00:42     массив #15
А для чего вот это:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        srand(static_cast<int>(time(NULL)));
        int **arr;
        int sum=0,M,N,k;
        cout<<"Enter M: ";
        cin>>M;
                cout<<"Enter N: ";
                cin>>N;
                arr = new int*[M];
        cout<<endl<<"Array: "<<endl;
        for(int i=0; i<M; i++)
        {
              arr[i]=new int[N];
              for(int j=0; j<N; j++)
                {
                    arr[i][j]=rand()%5-2;
Насколько я понял, для того чтобы каждый новый раз выдавались новые (случайные) значения для исходной матрицы, верно?
А тогда откуда он берет диапазон этих случайных цифр?
И что означает строчка:
C++
1
        int **arr;
Если я правильно понимаю, то это означает, что наша площадь является целым числом, а для чего нужны тогда эти две звездочки (**)?

C++
1
2
3
4
5
6
                    cout<<arr[i][j]<<"  ";
                    sum+=arr[i][j];
                }
          cout<<endl;
        }
     cout<<endl<<"Sum is "<<sum<<endl;
Поясните пожалуйста эту часть программы, насколько я понимаю это говорит о том что программа сначала создаст случайную матрицу и выведет ее на экран, после того как мы введем числа M и N, а затем программа будет суммировать все члены данной матрицы, после чего выдаст результат суммы элементов матрицы?
Yandex
Объявления
11.12.2010, 00:42     массив
Ответ Создать тему
Опции темы

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