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

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

14.11.2010, 12:13. Показов 2195. Ответов 39
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
у меня есть задание которое я к своему стыду... эх не могу побороть:
Сформировать массив Р, каждый элемент которого равен произведению предыдущих элементов массива А т.е. P[i]= А[1]*A[2]......*A[i]. задавать массив А нужно через генератор случ чисел. Но вся проблема в том что при выводе массива у меня выдает либо везде ноль, либо одинаковые числа.
В общем помогите написать. Мне на завтра надо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.11.2010, 12:13
Ответы с готовыми решениями:

Матрица и одномерный массив (Составить одномерный массив, содержащий количество буквенных символов в каждом из ее столбцов, подсчет символов)
Помогите решить задачку: Дана матрица 5х7, элементами которой являются значения символьного типа....

Массив: преобразорвать двумерный массив в одномерный и отсортировать его методом пузырька
всем привет. народ помогите с прогой, конкретно с функцией sort (65 строка), она должна двухмерный...

Массив: найти номера столбцов с положительными элементами и записать их в одномерный массив
ввести двумерный массив I . найти номера столбцов с положительными элементами и записать их в...

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

39
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
14.11.2010, 13:54 21
Author24 — интернет-сервис помощи студентам
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#define n 5
{ int i,p[n],a[n],;
for (i=0;i<n;i++)
a[i]=rand ()%10;
 
 
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]);
 
 
fflush (stdin);
getch ();
return 0;
}
чуть исправил
0
32 / 32 / 7
Регистрация: 10.10.2010
Сообщений: 89
14.11.2010, 13:56 22
Мне кажется может это из за Генератора случайных чисел, так как он выдает слишком большие величины, произведения которых слишком велики для отведенных для них переменных
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
14.11.2010, 13:57 23
Цитата Сообщение от Sharina Посмотреть сообщение


Спасибо все работает
для этого есть кнопка "Спасибо"

Добавлено через 1 минуту
Цитата Сообщение от Tambel Посмотреть сообщение
Мне кажется может это из за Генератора случайных чисел, так как он выдает слишком большие величины, произведения которых слишком велики для отведенных для них переменных
исправил
0
1 / 1 / 0
Регистрация: 14.11.2010
Сообщений: 28
14.11.2010, 14:13  [ТС] 24
все равно все элементы равны 0
0
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
14.11.2010, 14:15 25
Sharina, Сделайте вот что.
После заполнения обоих массивов, выведите их на экран. А потом, то что у Вас на экране напечатайте здесь. Мы посмотрим.
0
1 / 1 / 0
Регистрация: 14.11.2010
Сообщений: 28
14.11.2010, 14:16  [ТС] 26
C++
1
0.0 0.0 0.0 0.0 0.0
0
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
14.11.2010, 14:18 27
PS. Как только встретится один из элементов A[i] равный 0, то все элементы P[i] и далее будут равны 0. Может у Вас первый элемент A[0] равен 0?

Добавлено через 38 секунд
0.0 0.0 0.0 0.0 0.0
Это какой массив A[] или P[]?
0
1 / 1 / 0
Регистрация: 14.11.2010
Сообщений: 28
14.11.2010, 14:28  [ТС] 28
массив p[]

Добавлено через 4 минуты
A[0] не равен 0, я его приравняла к 1ж все равно везде 0

Добавлено через 32 секунды
по ходу это генератор выдает 0
0
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
14.11.2010, 14:38 29
Sharina, покажите здесь весь код
0
1 / 1 / 0
Регистрация: 14.11.2010
Сообщений: 28
14.11.2010, 14:43  [ТС] 30
Вот мой массив по требованию препода:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<stdio.h.>
#include<stdlib.h>
void main()
{float a[30],p[30];
n=30;
for(i=0;i<n;I++)
{
a[i]=0.001*rand();
printf("\n%6.1f",a[i]);
}
p[0]=rand()%10;
for(i=1;i<n;i++)
{
p[i]=p[i]*a[i-1];
}
for(i=1;i<n;i++);
{
printf("\n%6.1f",p[i]);
}}
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
14.11.2010, 14:48 31
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
#include <stdio.h>
#define n 5
 
int main ()
{ int i,p[n],a[n];
for (i=0;i<n;i++)
a[i]=rand ()%10;
 
 
p[0]=a[0];
 
for (i=1;i<n;i++)
p[i]=p[i-1]*a[i];
 
 
for (i=0;i<n;i++)
printf ("%5d", a[i]);
 
puts ("\np: ");
for (i=0;i<n;i++)
printf ("%5d", p[i]);
 
 
 
return 0;
}
проверяй
ссылка есть

http://codepad.org/AODHkpV9
0
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
14.11.2010, 14:48 32
я понял, что легче написать код, чем разбирать ошибки:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<stdio.h.>
#include <stdlib.h>
#include <time.h>
void main()
{srand( time( NULL ) );
    float a[30],p[30];
int n=30;
for(int i=0;i<n;i++)
{
a[i]=0.001*rand();
printf("\n%6.1f",a[i]);
}
p[0]=a[0];
for(i=1;i<n;i++)
{
p[i]=p[i-1]*a[i];
}
for(i=0;i<n;i++);
{
printf("\n%6.1f",p[i]);
}}
0
1 / 1 / 0
Регистрация: 14.11.2010
Сообщений: 28
14.11.2010, 15:03  [ТС] 33
Написала точь в точь как вы но
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
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.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
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
14.11.2010, 16:10 34
Цитата Сообщение от Sharina Посмотреть сообщение
Написала точь в точь как вы но
C++
1
2
3
4
0.0
0.0
0.0
0.0
http://codepad.org/AODHkpV9
0
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
14.11.2010, 16:18 35
Написала точь в точь как вы но
Как кто из двоих?
0
1 / 1 / 0
Регистрация: 14.11.2010
Сообщений: 28
14.11.2010, 16:23  [ТС] 36
как вы

Добавлено через 1 минуту
с сайтом еще не освоилась.
0
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
14.11.2010, 16:51 37
Я нашел еще одну ошибку - сразу ее не рассмотрел:
вот здесь уберите ; после for(i=0;i<n;i++)
C
1
2
3
4
for(i=0;i<n;i++);
{
printf("\n%6.1f",p[i]);
}}
0
1 / 1 / 0
Регистрация: 14.11.2010
Сообщений: 28
14.11.2010, 17:11  [ТС] 38
Я его и не писала с синтаксисом у меня проблем нет.
0
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
14.11.2010, 17:20 39
Я его и не писала с синтаксисом у меня проблем нет.
Тогда я не совсем понимаю. Я попросил Вас выложить код которым Вы пользуетесь и который выводит не то что нужно.
Вы выложили вот это:
Вот мой массив по требованию препода:
Код C++1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 #include<stdio.h.>
#include<stdlib.h>
void main()
{float a[30],p[30];
n=30;
for(i=0;i<n;I++)
{
a[i]=0.001*rand();
printf("\n%6.1f",a[i]);
}
p[0]=rand()%10;
for(i=1;i<n;i++)
{
p[i]=p[i]*a[i-1];
}
for(i=1;i<n;i++);// вот именно про этот пустой оператор я и писал
{
printf("\n%6.1f",p[i]);
}}
А теперь получается:
Я его и не писала с синтаксисом у меня проблем нет.
У меня подозрение, что все в этой теме стараются исправить ошибки в Вашем коде, а код которым Вы пользуетесь совсем другой.
0
1 / 1 / 0
Регистрация: 14.11.2010
Сообщений: 28
14.11.2010, 17:41  [ТС] 40
1Когда я сказала, что я не писала то имела ввиду что я не писал ; возле for
2 это мой изначальный код, этот код я написала до моего вопроса.
0
14.11.2010, 17:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.11.2010, 17:41
Помогаю со студенческими работами здесь

Целочисленный массив с размером 4*4 .Написать прогу , формирующую одномерный массив
Целочисленный массив с размером 4*4 .Написать прогу , формирующую одномерный массив. #include...

Переписать произвольный одномерный массив в другой массив в обратном порядке
Помогите написать прогу, вот задание. Переписать произвольный одномерный массив в другой массив в...

Массив: Сформировать одномерный массив, содержащий количество отрицательных элементов нечетных столбцов
Обшарил форум, но решения для данной задачи так и не нашел. Подскажите, каким способом перебрать...

Создать одномерный массив, заполнить его случайными значениями, отсортировать массив по убыванию
создать одномерный массив, заполнить его случайными значениями, отсортировать массив по убыванию....


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

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