Тролль Опубликовано 17 марта, 2005 Жалоба Поделиться Опубликовано 17 марта, 2005 hansas for (i=0; i<100; i++) A=1; А вообще вот подкорректированная программа: #include <iostream.h> void main() { int i; int A[10]; for (i=0; i<10; i++) A=1; int sum = 0; int temp = 0; for (i=1; i<10; i++) { temp = A; A=sum+A[i-1]; sum = temp; cout <<"Summa predidushchih chlenov ravna-->"<<A<<endl; } } Тут первый цикл вводит в каждый элемент массива единицу. А второй цикл занимается изменением массива по условию задачи. Если хочешь заполнять массив вручную, что правильнее, но утомительнее, то надо заменить A=1; на cin >> A; Массив я сделал длиной 10, а не 100. Для проверки это удобнее - ни ручной ввод, ни чтение сотни чисел не радуют. Ссылка на комментарий Поделиться на другие сайты Поделиться
hansas Опубликовано 18 марта, 2005 Автор Жалоба Поделиться Опубликовано 18 марта, 2005 Ответ--------------> Summa predidushchih chlenov ravna-->1 Summa predidushchih chlenov ravna-->2 Summa predidushchih chlenov ravna-->3 Summa predidushchih chlenov ravna-->4 Summa predidushchih chlenov ravna-->5 Summa predidushchih chlenov ravna-->6 Summa predidushchih chlenov ravna-->7 Summa predidushchih chlenov ravna-->8 Summa predidushchih chlenov ravna-->9 Press any key to continue Ну тогда пполучается, что пограмма выводит не сумму предыдущих чисел, а их последовательность до этого числа. Как же быть с суммой? Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 18 марта, 2005 Жалоба Поделиться Опубликовано 18 марта, 2005 hansas Именно так и должно быть. В условии было сказано создать не одну сумму, а массив сумм разного количества членов первоначального массива. Выведенная последовательность - правильный результат работы программы на тестовом примере, когда мы заполнили исходный массив единицами. По исходному массиву программа создала новый и вывела его на экран. Каждое из чисел нового массива - это сумма всех предыдущих чисел первоначального массива. Так как мы его заполнили единицами, то каждая выведенная сумма больше предыдущей на 1. Например, выведенное третьим число 3 - это сумма всех членов первоначального массива с A[0] по A[2], то есть сумма трех единиц, соответственно равная 3. Если в исходном массиве будут другие числа (единицы мы в программе вводили только для того, чтобы проверить ее работу), результат работы программы соответственно изменится. Ссылка на комментарий Поделиться на другие сайты Поделиться
hansas Опубликовано 18 марта, 2005 Автор Жалоба Поделиться Опубликовано 18 марта, 2005 Правильно будет так: #include <iostream.h> void main() { int i; int A[5]; for (i=0; i<5; i++) A=1; int sum = 0; int temp = 0; for (i=1; i<5; i++) { sum+= A; A=sum+A[i-1]; cout <<"Summa predidushchih chlenov ravna-->"<<A<<endl; } } Ответ: 5=11;4=7;3=4;2=2; Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 18 марта, 2005 Жалоба Поделиться Опубликовано 18 марта, 2005 hansas Правильно будет так: Не понял, что тут ты считаешь правильным. Суммой каких элементов является в твоем ответе, например, элемент массива с индексом 5? Этот вариант ты придумал сам? Ссылка на комментарий Поделиться на другие сайты Поделиться
hansas Опубликовано 18 марта, 2005 Автор Жалоба Поделиться Опубликовано 18 марта, 2005 0 1 2 3 4 5 5--->4+3+2+1+0=11 Ведь требовалось чтобы каждый элемент массива заменился суммой предыдущих. Добавлено : [mergetime]1111171491[/mergetime] 0 1 2 3 4 5 5--->4+3+2+1+0=11 Ведь требовалось чтобы каждый элемент массива заменился суммой предыдущих. Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 18 марта, 2005 Жалоба Поделиться Опубликовано 18 марта, 2005 Ну, во-первых, элементов со значениями 0, 2, 3, 4 в исходном массиве не было. Во-вторых, ты уверен, что "4+3+2+1+0=11"? Ссылка на комментарий Поделиться на другие сайты Поделиться
Darhazer Опубликовано 18 марта, 2005 Жалоба Поделиться Опубликовано 18 марта, 2005 4+3+2+1+0=10 Массив: 1,1,1,1,1 Сумма: 1+1+1+1+1=5 Попробуй заменит: for (i=0; i<5; i++)A[i]=1; на: for (i=0; i<5; i++)A[i]=i; Тогда массив будет: 0,1,2,3,4 Сумма должна бит: 0+1+2+3+4=10 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти