0 / 0 / 1
Регистрация: 19.09.2016
Сообщений: 66
1

Ввод и вывод массива через функцию

01.12.2016, 19:16. Показов 2905. Ответов 7
Метки нет (Все метки)

Здраствуйте, написал программу для ввода/вывода массива с заданным количеством елементов, но не знаю как сделать так, чтобы количество елемментов вводил пользователь, помогите
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 <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
  void input(int a[5]){
  int i;
  for( i = 0; i <5; i++)
    scanf("%d", &a[i]);
 
  }
 
 void output(int a[5]){
 int i;
 
  for( i = 0; i <5; i++){
 
  printf("%d ", a[i]);
 }    }
 
int main() {
clrscr();
int a[5];
printf("Print 5 elem mass: ");
input(a);
printf("Printed mass: ");
output(a);
getch();
return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.12.2016, 19:16
Ответы с готовыми решениями:

Ввод/вывод данных элементов структуры через функцию
Разработать программу учета покупок ювелирного магазина. Данные о покупках хранить в виде массива...

Нахождение основных значений оформить через функцию RESHENIE(), ввод данных и вывод на печать через функцию MAIN()
а помогите теперь эту задачку #include &lt;iostream&gt; int main() { int last = 0, next = 1; ...

Нужно написать функцию которая будет увеличевать каждый элеммент массива на 10% (Ввод массива через клаву)
#include &lt;iostream&gt; #define n 7 using namespace std ; int funct(int q) { funct=q*10% ; } int...

Ввод и вывод массива через RichEdit
Доброго времени суток. при составление простенькой программки возник такой вопрос. начну с её...

7
6 / 6 / 1
Регистрация: 14.11.2016
Сообщений: 15
01.12.2016, 19:26 2
Вам нужен динамический массив:
C++
1
2
3
4
5
6
7
8
9
int _size;
cin >> _size;
int *arr = new int[_size];
for(int i = 0; i < _size; i++)
{
   cout << arr[i] << " ";
}
delete[] arr;
arr =NULL;
0
1786 / 1036 / 445
Регистрация: 12.05.2016
Сообщений: 2,550
01.12.2016, 19:31 3
Цитата Сообщение от Yury_Yudanau Посмотреть сообщение
Вам нужен динамический массив:
Да-да malloc(_size*sizeof(int)) ....
0
0 / 0 / 1
Регистрация: 19.09.2016
Сообщений: 66
01.12.2016, 19:35  [ТС] 4
shvyrevvg, а не подскажете, как его под функции сделать?
0
1786 / 1036 / 445
Регистрация: 12.05.2016
Сообщений: 2,550
01.12.2016, 19:46 5
Лучший ответ Сообщение было отмечено destruction2u как решение

Решение

Цитата Сообщение от destruction2u Посмотреть сообщение
shvyrevvg, а не подскажете, как его под функции сделать?
C
1
2
3
4
5
6
7
8
9
#include <stdlib.h>
 
size_t n;
pritnf("введите размер массива\n");
scanf("%u", &n);
int *arr = malloc(n*sizeof(int));
if (arr == NULL)
    return(-1); // значит память не выделилась
// теперь можно работать с arr как с массивом длины n, дальше думаю разберётесь, не забудьте в конце программы освободить выделенную память free(arr);
1
6 / 6 / 1
Регистрация: 14.11.2016
Сообщений: 15
01.12.2016, 19:50 6
int *arr = malloc(n*sizeof(int));

А может всетаки так
void *prt = malloc(n*sizeof(int));
int *arr = (int*)ptr;
1
0 / 0 / 1
Регистрация: 19.09.2016
Сообщений: 66
01.12.2016, 20:06  [ТС] 7
shvyrevvg, спасибо, понял
0
1786 / 1036 / 445
Регистрация: 12.05.2016
Сообщений: 2,550
02.12.2016, 02:50 8
Цитата Сообщение от Yury_Yudanau Посмотреть сообщение
C
1
2
3
4
int *arr = malloc(n*sizeof(int));
А может всетаки так
void *prt = malloc(n*sizeof(int));
int *arr = (int*)ptr;
Тогда лучше так
C
1
2
3
4
void *prt = malloc(n*sizeof(int));
void *tmp = (void*)ptr;
void *tmp1 = (void*)tmp;
int *arr = (int*) tmp1;
Добавлено через 3 минуты
А если сурьезно, то в cpp Вам компилятор не даст так сделать
C
1
int *arr = malloc(n*sizeof(int));
Ему нужно будет возвращаемый указатель ручками приводить к int*.
А в си вроде как не запрещено.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.12.2016, 02:50
Помогаю со студенческими работами здесь

Ввод/вывод массива через функции
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #define n 5 #define m 6 int main() { int i,j; ...

Ввод и вывод массива через Memo
Здраствуйте, сижу вот уже 3-4 часа мучаюсь, как ввести массив через Memo, хоть убейте , не помню...

Ввод\вывод массива через функции
Помогите плз исправить) Нужно осуществить ввод\вывод массива #include &quot;stdio.h&quot; #include...

Ввод и вывод четырехзначных значений массива через RND
помогите пожалуйста нужно вводить с помощью рандома только четырехзначные числа а не от -9999 до...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru