Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2015, 20:03   #1
annushka8
Новичок
Джуниор
 
Регистрация: 04.06.2015
Сообщений: 1
Печаль (Си) Работа с указателями и выделением памяти для двух многомерных массивов

Здравствуйте, девочки и мальчики. Мучаюсь с заданием, где обязательно нужно использовать указатели (pointers) и выделение памяти (malloc) . Задание звучит так:

Создать два двумерные массивы (могут быть разных размеров). Найти в первом массиве три минимальные элементы, да такие, которые не повторялись бы во втором массиве и весь результат вывести в одной строке. Вот как я начала пользуясь своим котелком, что на плечиках да плачевно:


Код:
#include <stdio.h>
#include <stdlib.h>
#include <time.h> 
int **Masiv1(int m, int n); 
int **Masiv2(int o, int p);
 
 
int main ()
{
    int m, n, o, p;
    int i, j, k, l; // счетчики, по 2 на массив
    time_t seconds; // ТУТ УЖЕ ДЕЙСТВОВАЛА ИСХОДЯ ИЗ ПРИМЕРОВ
    time(&seconds); 
    srand((unsigned int) seconds); // генерирует рандом-цифры?
 
    printf("Введите количество Строк и Столбиков 1-ого массива:\n");
    scanf("[%d] [%d]", &m, &n);
    printf("Введите количество Строк и Столбиков 2-ого массива:\n");
    scanf("[%d] [%d]", &o, &p);
 
    printf("\n");
 
 
    for (i=0; i<m; i++) 
   {
        for (j=0; j<n; j++) 
        {
            printf("%d ", Masiv1[i][j]); 
        }
        printf("\n");
    }
 
 
    for (k=0; i<o; k++) 
   {
        for (l=0; j<p; k++) 
        {
            printf("%d ", Masiv2[o][p]); 
        }
        printf("\n");
    }
 
 
 
// дальше кошмар для меня, проба с 1-им массивом и pointer/malloc
 
 
 
int **masiv1(int m ,int n)
{
    int **array1;
    int i, j;
    array1 = (int**)malloc(m * sizeof(int *));
    if (array1 !=NULL)
    {
        for (i=0; i < m; i++)
        {
            *(array1+i) = (int*)malloc(n * sizeof(int));
            if (*(array1+i) ==NULL)
                break;
        }
    }
    printf("Первичный массив:\n");
    for (i=0; i<m; i++)
    {
        for(j=0; j<n; j++)
        {
            *(*(array1+i)+j)=rand() % 10;
            printf("%d ",*(*(array1+i)+j));
        }
        printf("\n");
    }
    
return 0;
}

Последний раз редактировалось annushka8; 04.06.2015 в 20:07.
annushka8 вне форума Ответить с цитированием
Старый 04.06.2015, 20:50   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А давай ты для начала заглянешь вот сюда: http://www.programmersforum.ru/showthread.php?t=117524
Изучишь пример, и на его основании напишешь свой ввод и вывод массивов. А уже потом все остальное по результатам.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разработка программ для формирования многомерных массивов в delphi Орлов Никита Помощь студентам 0 18.11.2012 14:49
Обработка многомерных массивов в Delphi. Volume Помощь студентам 7 24.03.2011 20:47
Адресация многомерных массивов Valter Общие вопросы C/C++ 6 17.12.2010 12:59
Сортировка многомерных массивов С++ Perfect.Enemy Общие вопросы C/C++ 5 12.04.2008 16:39