Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
Matanoid
10 / 0 / 2
Регистрация: 12.10.2015
Сообщений: 62
1

Ввести и вывести двумерный массив с помощью только указателей

12.10.2015, 20:34. Просмотров 1512. Ответов 2
Метки нет (Все метки)

Задание такое: Нужно ввести и вывести двухмерный с помощю только указателей (в коде не должно быть квадратных скобок). Я думал написать так, но не могу понять в чем ошибка. Подскажите пожалуйста.
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
#define _CRT_SECURE_NO_WARNINGS
#include <math.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
 
 
void main()
{
    int n, i, j, a;
    int **el;
    printf("Enter n = ");
    scanf("%i", &n);    
    el = (int **)calloc(n, sizeof(int *));
    for (i = 0; i < n; i++)
    {
        *el = (int *)calloc(n, sizeof(int));
    }
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
        {       
                printf("Enter a[%i][%i] = ", i + 1, j + 1);
                scanf("%i", &a);
                **el = a;       
                *el++;                          
        }
        el++;
    }
    *el = *el - n;
    el = el - n;
 
    
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
        {
            printf("  %i", **el);
            *el++;
        }
        el++;
        printf("\n");
    }
    _getch();
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.10.2015, 20:34
Ответы с готовыми решениями:

Дан массив чисел, необходимо ввести в него и вывести из него числа с помощью указателей
Дан массив чисел, необходимо ввести в него и вывести из него числа с помощью указателей.

Ввести числовые данные в двумерный массив через scanf
Столкнулся с интересным моментом. Нужно ввести числовые данные в двумерный массив через scanf....

Ввести двумерный массив А (5*2).Определить в нем сумму модулей отрицательных элементов с использованием указателей.
Ввести двумерный массив А (5*2).Определить в нем сумму модулей отр элементов с использованием...

Ввести двумерный массив с помощью генератора случайных чисел
РЕБЯТ!!!!! ввести двумерный массив 5*5 с помощью генератора случайных чисел. диапозон от -50 до...

Ввести двумерный массив с клавиатуры и вывести его на экран
как ввести двумерный массив с клавиатуры и вывести его на экран

2
ПерС
435 / 362 / 324
Регистрация: 05.11.2013
Сообщений: 1,023
Записей в блоге: 6
Завершенные тесты: 1
13.10.2015, 13:30 2
ну вот так сработает без []
хотя a[i] и есть *(a+i)
ну и a[i][j] собстна *(*(a+i)+j)
но студия не даст из соображений безопасности
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
#define _CRT_SECURE_NO_WARNINGS
#include <math.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
 
 
void main()
{
    int n, i, j, a;
    int **el;
    printf("Enter n = ");
    scanf("%i", &n);    
    el = (int **)calloc(n, sizeof(int *));
    for (i = 0; i < n; i++)
    {
        *el = (int *)calloc(n, sizeof(int));
    }
    for (i = 0; i < n; i++)
    {
        int *ptr = (int *)el+i;
        for (j = 0; j < n; j++)
        {       
                printf("Enter a[%i][%i] = ", i + 1, j + 1);
                scanf("%i", &a);
                *(ptr+j) = a;       
        }
    }
    for (i = 0; i < n; i++)
    {
        int *ptr = (int *)el+i;
        for (j = 0; j < n; j++)
        {
            printf("  %i", *(ptr+j));
 
        }
        printf("\n");
    }
    _getch();
}
0
Matanoid
10 / 0 / 2
Регистрация: 12.10.2015
Сообщений: 62
13.10.2015, 21:01  [ТС] 3
Спасибо ПерС! Вроде все работает на студии.
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2015, 21:01

Заполнить двумерный массив с помощью rand() и вывести его
Всем привет, в общем обучение идет полным ходом и столкнулся с непонятным явлением. Пытаясь...

Ввести с клавиатуры двумерный массив A размером nxn таким образом, чтобы программа считывала только первые n элементов
Ввести с клавиатуры двумерный массив A размером nxn таким образом, чтобы программа считывала только...

Ввести двумерный массив 5х5. И вывести из него главную диагональ (com-файл, tasm)
Задание такое: Написать com-программу, которая позволит ввести двумерный массив 5х5. И вывести из...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.