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

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

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

массив - C++

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

помогите написть код суммы рандомного массива.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2010, 16:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос массив (C++):

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

Массив: Как скопировать двумерный массив в другой массив? - C++
Как скопировать двумерный массив в другой массив?

Дан массив целых чисел,произвести для него следующие операции: для каждого из чисел ,входящего в массив,указать,сколько раз оно входит в массив... - C++
помогите!!!((( дан массив целых чисел,произвести для него следующие операции: для каждого из чисел ,входящего в массив,указать,сколько...

Файл: Загрузка данных из файла: первый столбец записывался в 1й массив, второй столбец - во 2й массив, а 3й столбец - в 3й массив. - C++
Есть текстовый файл, в нем 3 столбца чисел (число строк заранее неизвестно). Напишите пожалуйста код, чтобы первый столбец записывался в...

Заполнить массив первыми ста простыми числами, и вывести массив на экран - C++
Объявите одномерный целочисленный массив в котором не более 100 элементов выполните генерацию массива первыми 100 простыми числами....

Переписать положительные элементы массива K,кратные пяти в массив M,а остальные-в массив Q. - C++
Дан массив K(N).Переписать положительные элементы массива K,кратные пяти в массив M,а остальные-в массив Q.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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;
}
1
Hardcore
4 / 4 / 0
Регистрация: 24.10.2010
Сообщений: 200
09.12.2010, 16:20  [ТС] #3
MILAN,
прокомпилирвуй полная чужь выходит.
0
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
09.12.2010, 16:23 #4
Интересно

http://codepad.org/Wd2lLDM7
1
Hardcore
4 / 4 / 0
Регистрация: 24.10.2010
Сообщений: 200
09.12.2010, 16:35  [ТС] #5
а двумерного массива?
0
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;
}
0
Feytan
1 / 1 / 0
Регистрация: 09.12.2010
Сообщений: 93
10.12.2010, 12:59 #7
А как будет выглядеть код, если нужно вычислить сумму элементов матрицы, если матрица задается в виде двумерного массива? также?
0
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
10.12.2010, 15:56 #8
Feytan, двумерный массив ето и есть матрица!!!!
1
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;
}
Но тогда непонятно что означают слова: "в виде двумерного массива случайным образом", само понятие двумерного массива понятно, но что значит случайным образом, может просто числа располагаются в массиве случайным образом или что-то подобное? и влияет ли это на код программы?
0
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
10.12.2010, 16:29 #10
Я так понимаю, что матрица должна заполнятся случайными числами, тоисть с помощью функции rand!!!
0
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;
Но в этом у меня полный завал, куда что ставить и в какой последовательности непонимаю?
0
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;
}
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;
}
0
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) равняется номеру введеной строки, умножает каждый елемент строки на сумму матрицы!!!!
0
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, а затем программа будет суммировать все члены данной матрицы, после чего выдаст результат суммы элементов матрицы?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2010, 00:42
Привет! Вот еще темы с ответами:

Дан массив. Записать во второй массив все элементы, не совпадающие с минимальным - C++
Дан массив M(14).Записать в массив B все элементы , не совпадающие с минимальным. Cоставить блок схему программы

Массив: сформировать массив C[12] так, чтобы элементы располагались следующим образом: A(1) B(1) A(2) B(2) - C++
из массивов A и B сформировать массив C так, чтобы элементы массива располагались следующим образом: A(1) B(1) A(2) B(2) и т.д.

Массив: Все элементы массива, кратные трем, записать в одномерный массив. - C++
Дан двумерный массив размером n x n? заполненный целыми числами. Все его элементы кратные трем, записать в одномерный массив.

Можно ли в классе создавать массив переменной длинны. Например динамический массив? - C++
Динамические массивы привлекают больше. :)


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
11.12.2010, 00:42
Ответ Создать тему
Опции темы

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