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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Ninok_91
0 / 0 / 0
Регистрация: 18.05.2009
Сообщений: 3
#1

Динамический массив - C++

19.05.2009, 12:41. Просмотров 601. Ответов 1
Метки нет (Все метки)

помогите решить задачу пожалуйста!!!
нужно реализовать динамический массив и показать работу с ним: удаление, добавление, вставка элемента на си.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2009, 12:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Динамический массив (C++):

Можно ли в классе создавать массив переменной длинны. Например динамический массив? - C++
Динамические массивы привлекают больше. :)

Заполнить динамический массив из файла и записать массив обратно в файл - C++
Подскажите пожалуйста функцию которая будет заполнять Динамический массив из файла и обратную которая этот массив запишет в файл=)

Написать функцию принимающую массив и возвращающую указатель на динамический массив - C++
Написать функцию принимающую массив и возвращающую указатель на динамический массив содержащий первые n нaибольших чисел. Как сделать...

динамический массив (Целое число разложить на массив простых множителей) - C++
Доброго времени суток всем. Целое число необходимо разложить на массив простых множителей. Столкнулся с проблемой, мне нужно, чтобы...

Массив: передать динамический массив в функцию и записать в каждый элемент строку из файла - C++
задача: передать динамический массив в функцию, и записать в каждый элемент строку из файла. количество строк известно вот что у меня...

Как преобразовать массив в динамический? Массив вычисляет сумму элементов каждой диагонали матрицы - C++
Ошибка : Вызвано исключение по адресу 0x00BB2F4F в Проект6.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xFDFDFE05. #...

1
Ёрик
46 / 46 / 2
Регистрация: 07.01.2009
Сообщений: 298
19.05.2009, 21:11 #2
Да.. задачка очень простая,только муторная... Вспоминать Си... Сейчас кину,что делал когда-то. Я сегодня добрый... только разбирайся сам.


#include <stdio.h>
#include <math.h>
#include <time.h>
#include <stdlib.h>

#define N 8

void print_array(int arr[][N], int n)
{
int i = 0;
int j = 0;

for( i = 0; i < n; i++)
{
for( j = 0; j < n; j++)
printf("%d\t",arr[i][j]);
puts("\n");
}
}


void getSUM(int arr[][N], int n)
{
int i = 0;
int j = 0;
int has_negatives = 0; // Есть ли отрицательные элементы в текущем столбце
long sum = 0;

for ( j = 0; j < n; j++ )
{
sum = 0;
has_negatives = 0;
for( i = 0; i < n; i++)
{
if ( arr[i][j] < 0 )
{
has_negatives = 1;
break;
}
else
{
sum += arr[i][j];
}
}

// Выводим сумму только тех столбцов, в которых нет отрицательных элементов
if ( !has_negatives )
{
printf("\n");
printf("Sum of column %d = %d\t", j, sum);
}
}
}

void getMAX_among_diagonals(int arr[][N], int n)
{
int i = 0;
int j = 0;
int k = 0;
long currsum = 0;
long maxsum = 0;

puts("Processing diagonals:");

// Пробегаем левую верхнюю часть матрицы
for ( i = 0; i < n - 1; i++)
{
long currsum = 0;
for ( j = i, k = 0; (j >= 0) && (k <= i); j--, k++)
{
printf("[%d;%d]\t", j, k);
currsum += abs(arr[j][k]);
}

if (currsum > maxsum)
maxsum = currsum;

printf("Sum = %ld\n", currsum);
}

// Пробегаем правую нижнюю часть матрицы
for ( i = n - 1; i >= 1; i--)
{
long currsum = 0;
for ( j = i, k = n - 1; (j <= n - 1) && (k >= i); j++, k--)
{
printf("[%d;%d]\t", j, k);
currsum += abs(arr[j][k]);
}

if (currsum > maxsum)
maxsum = currsum;

printf("Sum = %ld\n", currsum);
}

printf("Max sum of absolute values in diagonals = %ld\n", maxsum);
}

void rand_array(int arr[][N], int n)
{
int i = 0;
int j = 0;

srand(time(0));
rand();

for ( i = 0; i < n; i++ )
for ( j = 0; j < n; j++ )
arr[i][j] = rand() % 30 - 3;
}

int main()
{
int i;
int **a = (int **)calloc(N,sizeof(int*));
for (i = 0; i < N; i++)
a[i] = (int*)calloc(N,sizeof(int));

rand_array(a, N);

print_array(a, N);

getSUM(a, N);

getMAX_among_diagonals(a, N);

for (i = 0; i < N; i++)
free(a[i]);

free(a);
**a = NULL;



return 0;
}

Тут короче еще задание кроме твоего такое:

Дана целочисленная квадратная матрица. Определить:
1) сумму элементов в тех столбцах, которые не содержат отрицательных элементов;
2) максимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы.
Ну и плюс сделать
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.05.2009, 21:11
Привет! Вот еще темы с ответами:

Создать динамический массив (Если чётных чисел больше, то массив должен быть укорочен на 2 элемента) - C++
Создать динамический массив из 8 случайных целых чисел из отрезка и вывести его на экран . Если в массиве чётных чисел оказалось...

Двумерный массив (поменять статический массив на динамический) - C++
Нужно поменять статический массив на динамический с выделением памяти #include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;cstdlib&gt; ...

Массив и память. Как создать динамический массив? - C++
не могу исправить ошибки. И нужен динамический массив я что-то попробовала для его создания но ничего не вышло #include &quot;stdafx.h&quot; ...

Переделать динамический массив на статический массив - C++
#include &lt;iostream&gt; #include &lt;cstdlib&gt; using namespace std; int main() { int dim, counter_1 = 1, counter_2 =...


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

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

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