2 / 2 / 0
Регистрация: 07.06.2013
Сообщений: 162
|
|||||||||||||||||||||
1 | |||||||||||||||||||||
Разбиение программы на функции. Ввод последовательности неотрицательных чисел.04.07.2013, 00:00. Показов 1220. Ответов 16
Метки нет (Все метки)
Есть программа ввод значений в которой осущесвляется пока не будет введено отрицательное число, потом она выводит все введенные значения и их сумму, вот код:
0
|
04.07.2013, 00:00 | |
Ответы с готовыми решениями:
16
Фильтр на ввод только целых неотрицательных чисел Вычислите количество неотрицательных значений в последовательности из 5 чисел Определить сумму последних трёх неотрицательных чисел последовательности Найти среднее арифметическое последовательности неотрицательных целых чисел |
415 / 411 / 95
Регистрация: 06.10.2011
Сообщений: 832
|
||||||
04.07.2013, 00:04 | 2 | |||||
2
|
2 / 2 / 0
Регистрация: 07.06.2013
Сообщений: 162
|
|||||||||||
04.07.2013, 07:28 [ТС] | 3 | ||||||||||
Olivеr, Скажите пожалуйста, почему пишет ошибку если написать так:
0
|
Модератор
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,523
|
||||||
04.07.2013, 07:45 | 4 | |||||
скорее не ошибку(error)
а предупреждение (warning) аргументом j не разу не воспользовался, сразу его обнулил чтобы вывести что то на экран функции нужно знать это что то вот ты ей и передаешь i размер массива и array массив Добавлено через 4 минуты и мы тупо для функции копируем все 200 элементов массива вот так и быстрее и памяти меньше
0
|
415 / 411 / 95
Регистрация: 06.10.2011
Сообщений: 832
|
||||||
04.07.2013, 11:25 | 5 | |||||
ValeryS, с чего вы взяли, что происходит копирование массива? Копируется только указатель указывающий на последовательность из 3 интов.
0
|
2 / 2 / 0
Регистрация: 07.06.2013
Сообщений: 162
|
||||||||||||||||
04.07.2013, 18:16 [ТС] | 6 | |||||||||||||||
ValeryS, Нет если писать:
1.cpp: In function `int main()': 1.cpp:35: error: invalid conversion from `int*' to `int' 1.cpp:6: error: too few arguments to function `void fn_output(int, int, int*)' 1.cpp:35: error: at this point in file 1.cpp:25: warning: unused variable 'j' 1.cpp:25: warning: unused variable 'sum' 1.cpp:39:2: warning: no newline at end of file Вот мне и стало интересно, почему ошибка???? Мне кажется, может я конечно ошибаюсь, но в функции
Добавлено через 6 минут Вы говорите "чтобы вывести что то на экран функции нужно знать это что то вот ты ей и передаешь i размер массива и array массив", если я правильно поинмаю то те i и array , что я передаю в функцию и i и array в самой функции это совсем разные переменные. А если так, то почему именно i и array нужно передовать в функцию, почему нельзя передать например i и j??? Не понимаю.....
0
|
89 / 1 / 3
Регистрация: 04.07.2013
Сообщений: 282
|
|
04.07.2013, 18:28 | 7 |
зачем же вы всё так усложняете та!
щяс поем и напишу нормальный компактный код
0
|
415 / 411 / 95
Регистрация: 06.10.2011
Сообщений: 832
|
|
04.07.2013, 18:30 | 8 |
Nikko12, почитайте про область видимости в функциях. Дело в том, что массив созданный в функции А не будет доступен функции Б, поэтому функции Б надо передать указатель на этот массив. Таким образом Б может обращаться к массиву, а также нужно передавать размерность массива чтобы Б знала сколько в массиве элементов и не выходила за пределы.
0
|
89 / 1 / 3
Регистрация: 04.07.2013
Сообщений: 282
|
||||||
04.07.2013, 18:49 | 9 | |||||
да чтото у меня не получается( может ты приведёшь в порялок...
0
|
2 / 2 / 0
Регистрация: 07.06.2013
Сообщений: 162
|
|||||||||||
04.07.2013, 19:27 [ТС] | 11 | ||||||||||
ValeryS, При передаче 3 аргументов функции:
1.cpp:34: error: invalid conversion from `int' to `int*' 1.cpp:34: error: initializing argument 2 of `void fn_output(int, int*, int)' 1.cpp:34: error: invalid conversion from `int*' to `int' 1.cpp:34: error: initializing argument 3 of `void fn_output(int, int*, int)' P.S. 34 строка, это
Добавлено через 3 минуты Olivеr, Это вопрос и возник при прочтении книги, а Вы меня снова отсылаете к книге. Книги к сожалению не умеют отвечать на вопросы, а люди умеют Если не тяжело ответте пожалуйста.
0
|
Модератор
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,523
|
|
04.07.2013, 19:31 | 12 |
ну а как ты их передаешь
первый параметр число, второй число, а третий массив
а в прототипе число, массив, число ну и как ты думаешь это будет работать
0
|
2 / 2 / 0
Регистрация: 07.06.2013
Сообщений: 162
|
|
04.07.2013, 19:39 [ТС] | 13 |
ValeryS, А разве имеет значение порядок передачи?? Если "ДА", я не знал этого. Т.е. параметры должны передаваться в функцию в том порядке в котором там расположенны аргументы???
0
|
2 / 2 / 0
Регистрация: 07.06.2013
Сообщений: 162
|
||||||
04.07.2013, 19:52 [ТС] | 15 | |||||
ValeryS, Вы мне открыли глаза Спасибо большое, буду знать.
Добавлено через 4 минуты ValeryS, А что бы выводить адреса ячеек куда помещаются вводимые значения, нужно сделать так??
0
|
2 / 2 / 0
Регистрация: 07.06.2013
Сообщений: 162
|
|
04.07.2013, 19:57 [ТС] | 17 |
ValeryS, Благодарю Вас за помощь.
0
|
04.07.2013, 19:57 | |
04.07.2013, 19:57 | |
Помогаю со студенческими работами здесь
17
Нахождение всех неотрицательных чисел, стоящих на четных местах в последовательности В данной последовательности целых чисел найти максимальное значение среди неотрицательных элементов Pascal в C++. Максимальное произведение двух элементов для последовательности целых неотрицательных чисел Разбиение программы на функции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |