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

Одномерный массив - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Sharina
1 / 1 / 0
Регистрация: 14.11.2010
Сообщений: 28
14.11.2010, 12:13     Одномерный массив #1
у меня есть задание которое я к своему стыду... эх не могу побороть:
Сформировать массив Р, каждый элемент которого равен произведению предыдущих элементов массива А т.е. P[i]= А[1]*A[2]......*A[i]. задавать массив А нужно через генератор случ чисел. Но вся проблема в том что при выводе массива у меня выдает либо везде ноль, либо одинаковые числа.
В общем помогите написать. Мне на завтра надо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2010, 12:13     Одномерный массив
Посмотрите здесь:

Одномерный массив вещественных чисел R75 содержит данные о росте группы студентов. Массив заполнить значениями путем ввода с клавиатуры. Вычислить с C++
Одномерный массив и Двумерный массив C++
Массив: Построить из динамического одномерный массив,каждый элемент, которого равен сумме элементов одной строки исходной матрицы. C++
Одномерный массив. Создать массив Х суммы среднеарифметического элементов массива А с каждым элементом массива А C++
Одномерный массив (элементы с четными индексами переписать в массив z.в массиве z поменять местами максимальный и минимальный элементы) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
14.11.2010, 12:25     Одномерный массив #2
выложите пожалуйста код, который у вас выдает 0 или одинаковые числа
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
14.11.2010, 12:26     Одномерный массив #3
Как-то так
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
#include <iostream>
#include <ctime>
#include <cstdlib>
 
int main()
{
    srand(static_cast<unsigned>(time(0)));
    int *A, *P, N;
    std::cout << "Enter size array(A and P): ";
    std::cin >> N;
    A = new int[N];
    P = new int[N];
 
    for(int i = 0; i < N; i++)
    {
        A[i] = rand()%100+1;
        if(A[i] != A[0])
        {
            P[i] = A[i]*A[i-1];
        }
        std::cout << A[i] << ' ';
    }
 
    std::cout << std::endl;
    for(int i = 0; i < N; i++)
    {
         std::cout << P[i] << ' ';
    }
}
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
14.11.2010, 12:31     Одномерный массив #4
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#define n 5
int i,j,p[n],a[n],el;
for (i=0;i<n;i++)
a[i]=rand ();
 
 
for (i=0;i<n;i++)
{ el=1;
    for (j=0;j<=i;j++)
     el*=a[j];
  p[i]=el;
}
 
 
for (i=0;i<n;i++)
printf ("%d", a[i]);
Tambel
32 / 32 / 2
Регистрация: 10.10.2010
Сообщений: 89
14.11.2010, 12:32     Одномерный массив #5
Может быть так?

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
#include "stdafx.h"
#include "math.h"
#include <iostream>
using namespace std;
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    double *a,*p,proiz;
    int i,n;
    cout<<"Input n "; cin>>n;
    a=new double [n];
    for (i=0;i<n;i++)
    {
        cout<<"a["<<i<<"]= ";
        a[i]=rand();
    }
    for (i=0;i<n;i++) cout<<a[i]<<" ";
    cout<<endl;
 
    p=new double [n];
    proiz=a[0];
    p[0]=a[0];
    for (i=1;i<n;i++)
    {
        p[i]=proiz*a[i];
        proiz=p[i];
    }
    for (i=0;i<n;i++) cout<<p[i]<<" ";
    cin>>i;
    return 0;
}
Sharina
1 / 1 / 0
Регистрация: 14.11.2010
Сообщений: 28
14.11.2010, 12:37  [ТС]     Одномерный массив #6
у нас нет еще cout

Добавлено через 57 секунд
Цитата Сообщение от Tambel Посмотреть сообщение
Может быть так?

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
#include "stdafx.h"
#include "math.h"
#include <iostream>
using namespace std;
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    double *a,*p,proiz;
    int i,n;
    cout<<"Input n "; cin>>n;
    a=new double [n];
    for (i=0;i<n;i++)
    {
        cout<<"a["<<i<<"]= ";
        a[i]=rand();
    }
    for (i=0;i<n;i++) cout<<a[i]<<" ";
    cout<<endl;
 
    p=new double [n];
    proiz=a[0];
    p[0]=a[0];
    for (i=1;i<n;i++)
    {
        p[i]=proiz*a[i];
        proiz=p[i];
    }
    for (i=0;i<n;i++) cout<<p[i]<<" ";
    cin>>i;
    return 0;
}
У нас нет еще cout
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
14.11.2010, 12:38     Одномерный массив #7
Цитата Сообщение от Sharina Посмотреть сообщение
у нас нет еще cout
я тебе написал без коут
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
14.11.2010, 12:39     Одномерный массив #8
asics, В вашем коде не будет задано значение у P[0] и некоторых других P[i] - если значение A[i] равно A[0]. И к тому же вычисляете P[i] не как в задании.
go, не делайте el равным 0 изначально, нужно делать равным 1.
А вообще-то лучше делать так: P[0]=A[0], а последующие P[i] вычисляются так: P[i]=P[i-1]*A[i].
Tambel
32 / 32 / 2
Регистрация: 10.10.2010
Сообщений: 89
14.11.2010, 12:42     Одномерный массив #9
Цитата Сообщение от Sharina Посмотреть сообщение
у нас нет еще cout

Добавлено через 57 секунд


У нас нет еще cout
А что у вас?. Просто я сам относительно недавно начал осваивать С++ и кроме cout больше никак не выводил на консоль)
Просто вместо cout пишите тот вывод который вам нужен)
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
14.11.2010, 12:44     Одномерный массив #10
Цитата Сообщение от valeriikozlov Посмотреть сообщение
asics, В вашем коде не будет задано значение у P[0] и некоторых других P[i] - если значение A[i] равно A[0]. И к тому же вычисляете P[i] не как в задании.
go, не делайте el равным 0 изначально, нужно делать равным 1.
А вообще-то лучше делать так: P[0]=A[0], а последующие P[i] вычисляются так: P[i]=P[i-1]*A[i].
спасибо исправил

да точно можно и проще
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#define n 5
int i,p[n],a[n],;
for (i=0;i<n;i++)
a[i]=rand ();
 
 
p[0]=a[0];
 
for (i=1;i<n;i++)
p[i]=p[i-1]*a[i];
 
 
for (i=0;i<n;i++)
printf ("%d", a[i]);
Sharina
1 / 1 / 0
Регистрация: 14.11.2010
Сообщений: 28
14.11.2010, 13:02  [ТС]     Одномерный массив #11
Цитата Сообщение от panicwassano Посмотреть сообщение
выложите пожалуйста код, который у вас выдает 0 или одинаковые числа
0,0
0,0
0,0
0,0
0,0
0,0
0,0
0,0
0,0
0,0
0,0
0,0

Добавлено через 3 минуты
printf, scanf,

Добавлено через 13 минут
printf, scanf

Добавлено через 1 минуту
Цитата Сообщение от go Посмотреть сообщение
спасибо исправил

да точно можно и проще
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#define n 5
int i,p[n],a[n],;
for (i=0;i<n;i++)
a[i]=rand ();
 
 
p[0]=a[0];
 
for (i=1;i<n;i++)
p[i]=p[i-1]*a[i];
 
 
for (i=0;i<n;i++)
printf ("%d", a[i]);
Что такое define ? мы не знаем что это.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
14.11.2010, 13:05     Одномерный массив #12
тогда узнай
а что такое const int n=5 знаешь???
как вы задаете массив?

замени n в коде на число элементов в массиве и удали дефайн
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
14.11.2010, 13:05     Одномерный массив #13
Цитата Сообщение от Sharina Посмотреть сообщение
Что такое define ? мы не знаем что это.
Это деректива препроцессора.
Tambel
32 / 32 / 2
Регистрация: 10.10.2010
Сообщений: 89
14.11.2010, 13:08     Одномерный массив #14
Мне кажется лучше создавать произвольный массив, с помощью new "тип"
Sharina
1 / 1 / 0
Регистрация: 14.11.2010
Сообщений: 28
14.11.2010, 13:08  [ТС]     Одномерный массив #15
Цитата Сообщение от go Посмотреть сообщение
тогда узнай
а что такое const int n=5 знаешь???
как вы задаете массив?

замени n в коде на число элементов в массиве и удали дефайн
1 нет не знаю.
2 через
{float a[i]
3Спасибо щас проверю.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
14.11.2010, 13:11     Одномерный массив #16
Цитата Сообщение от Sharina Посмотреть сообщение
1 нет не знаю.
2 через
{float a[i]
3Спасибо щас проверю.
а i с патолка берете???
как вы ее объявляете?
yariknarik
0 / 3 / 0
Регистрация: 02.06.2010
Сообщений: 36
14.11.2010, 13:18     Одномерный массив #17
Кстате, во всех примерах нет провеерок на нулевіе елементы, Если a[0]=0, то все остальные, тоже будут нули...
Sharina
1 / 1 / 0
Регистрация: 14.11.2010
Сообщений: 28
14.11.2010, 13:26  [ТС]     Одномерный массив #18
Цитата Сообщение от go Посмотреть сообщение
а i с патолка берете???
как вы ее объявляете?
int i;
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
14.11.2010, 13:44     Одномерный массив #19
Цитата Сообщение от Sharina Посмотреть сообщение
int i;
так нельзя

Добавлено через 2 минуты
Цитата Сообщение от yariknarik Посмотреть сообщение
Кстате, во всех примерах нет провеерок на нулевіе елементы, Если a[0]=0, то все остальные, тоже будут нули...
в условии не сказано, что такое не возможно
это один из вариантов
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.11.2010, 13:47     Одномерный массив
Еще ссылки по теме:

C++ Одномерный массив (Ввести массив из 10 вещественных чисел.Найти сумму чисел,стоящих на чётных местах)
C++ Задачка. массив указателей на одномерный массив
Преобразовать одномерный массив вещественных случайных чисел в массив целых чисел C++

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

Или воспользуйтесь поиском по форуму:
Sharina
1 / 1 / 0
Регистрация: 14.11.2010
Сообщений: 28
14.11.2010, 13:47  [ТС]     Одномерный массив #20
Цитата Сообщение от Tambel Посмотреть сообщение
А что у вас?. Просто я сам относительно недавно начал осваивать С++ и кроме cout больше никак не выводил на консоль)
Просто вместо cout пишите тот вывод который вам нужен)

Спасибо большое все работает вот только он пишет мне плавающюю точку и отрицательный квадратный корень и зараза не показывает мне ответ

Добавлено через 2 минуты
Цитата Сообщение от go Посмотреть сообщение
спасибо исправил

да точно можно и проще
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#define n 5
int i,p[n],a[n],;
for (i=0;i<n;i++)
a[i]=rand ();
 
 
p[0]=a[0];
 
for (i=1;i<n;i++)
p[i]=p[i-1]*a[i];
 
 
for (i=0;i<n;i++)
printf ("%d", a[i]);
Спасибо все работает только он выводит мне плавающюю точку и не хочет выводит результа( Что мне делать?
Yandex
Объявления
14.11.2010, 13:47     Одномерный массив
Ответ Создать тему
Опции темы

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