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

Не вводятся элементы в массив(указатели) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Числа Фибоначчи http://www.cyberforum.ru/cpp-beginners/thread974756.html
Является ли число N числом Фибоначчи? (С++) Как выглядит программа с использованием if или while?
C++ Можно ли в cin ввести строку любого размера? Собственно можно ли в cin ввести строку неопределенного размера, пользуясь только char * ? Например: char *temp = new char; int strLen; cin>>strLen; cin.getline(temp, strLen); Или если... http://www.cyberforum.ru/cpp-beginners/thread974754.html
C++ Запуск кода программы если фокус обращён на нечто другое
Суть в чём. Я хочу чтоб программа выполняла действия заданные в коде при нажатии определённой клавиши на клавиатуре. Но при этом открыто не окно программы, а что-то другое (например браузер)....
C++ После выхода из функции, чтобы матрица не изменялась
Как сделать так, чтобы передать матрицу в функцию, в функции матрицу изменить (поменять элементы матрицы симметрично относительно побочной диагонали) вывести её на экран, но чтобы после окончания...
C++ Напечатать последовательно все двойные буквы http://www.cyberforum.ru/cpp-beginners/thread974696.html
Напечатать последовательно все двойные буквы (в слове подряд две одинаковых)
C++ Среди государств, имеющих морскую границу, определить то, численность которого максимальна В таблице собраны следующие сведения о государствах Африки: название государства; территория (в тыс. кв. км); численность населения (в млн. чел.); имеется ли морская граница (да, нет); столица.... подробнее

Показать сообщение отдельно
Jack Wade
63 / 36 / 6
Регистрация: 24.02.2013
Сообщений: 250

Не вводятся элементы в массив(указатели) - C++

11.10.2013, 15:29. Просмотров 389. Ответов 12
Метки (Все метки)

Здравствуйте! У меня возникла проблема с указателями...
Я хочу сделать функцию, которая организует ввод данных в статический массив, и функцию с выводом введённого массива.
Когда я пишу простую функцию на подобии ниже представленной:
Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void standart_see_massive(int m[], int size)
{
    for (int i=0; i<size; i++) printf("%d\n", m[i]);
}
 
void standart_enter_massive(int m[], int size)
{
    for (int i=0; i<size; i++) scanf("%d", &m[i]);
}
 
...
 
int main(void)
{
standart_enter_massive(&massive[10], 10);
printf("%d\n", massive[4]);//Например-нужно просмотреть 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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include "stdafx.h"
#include <stdio.h>
 
void see_string(char *str)
{
    while(*str!='\0') printf("%c", *str++);
}
 
void enter_massive(int *m, int n)
{
    for (int i=0; i<n; i++)
    {
        scanf("%d", &m);
        *m++;
    }
}
 
void see_massive(int m[], int n)
{
    for (int i=0; i<n; i++)
    {
        printf("%d\n", &m);
        *m++;
    }
}
 
void standart_see_massive(int m[], int size)
{
    for (int i=0; i<size; i++) printf("%d\n", m[i]);
}
 
void standart_enter_massive(int m[], int size)
{
    for (int i=0; i<size; i++) scanf("%d", &m[i]);
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    printf("STANDART FUNCTION\n");
    int mas[10]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    standart_see_massive(mas, 10);
    printf("\n\n\n");
    printf("STANDART ENTER MASSIVE\n");
    standart_enter_massive(&mas[10], 10);
    printf("=====%d\n", mas[4]);
    printf("\n\n\n");
    printf("UK FUNCTION SEE TEXT\n");
    see_string("Hello world!");
    printf("\n\n\n");
    printf("UK FUNCTION ENTER MASSIVE\n");
    enter_massive(&mas[10], 10);
    printf("\n\n\n");
    printf("UK FUNCTION SEE MASSIVE\n");
    see_massive(mas, 10);
    printf("\n\n\n");
    _gettch();
    
    return 0;
}

Если создавать динамические массивы, можно просто сделать след. функцию, и присваивать наш динам. массив=значению данной функции:
Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
int* enter_dynamic_massive(int size)
{
int* mas=new int[size];
for (int i=0; i<size; i++) scanf("%d", mas[i]);
return mas;
}

Однако, я ни как не могу понять, как это сделать с статическим массивом...
Помогите пожалуйста... Или, помогите разобраться с указателями, если не трудно...
P.S. Читал про указатели, вроде бы, как понял, а вот на практике, ничего дальше, как просто вывод текста так сделать и не смог(это был пример работы с указателями)...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru