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

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

Войти
Регистрация
Восстановить пароль
 
LoneR 23
0 / 0 / 0
Регистрация: 06.11.2011
Сообщений: 43
#1

Динамическая матрица - C++

04.02.2012, 10:44. Просмотров 897. Ответов 10
Метки нет (Все метки)

помогите написать 2 проги
1)Динамическая матрица
2)Динамическая матрица

по критериям:
1)Динамические массивы обязательны
2)работать через адресную арифметику, []- запрещены
3)распечатать не только значения но и адреса
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2012, 10:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Динамическая матрица (C++):

динамическая матрица - C++
в общем, надо сделать матрицу доступа, её размер в исходном состоянии 1х1, и потом увечивается, т.е. размер постоянно меняется, как...

Динамическая матрица - C++
Здравствуйте, помогите найти ошибку в динамической матрице: у меня почему-то вызывается автоматически деструктор в программе, хотя мне это...

динамическая матрица в си++ - C++
Ребят, задача такова Дана квадратная матрица A(N,N). Получить из неё массив B, если N - четно, и B, если N - нечетно, элементами...

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

Двумерная динамическая матрица - C++
в общем помогите, надо написать двумерный массив(int) динамическим и пару функций к нему: 1. удаление столбца 2. удаление строки 3....

Динамическая матрица ООП - C++
Добрый день, проблема заключается в следующем. Никак не могу разобраться с заданием Задание: Для хранения объектов каждого...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
04.02.2012, 11:05 #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
void calc(int **a, int n, int m, int *x)
{
 int **row;
 int *p1;
 int *p2;
 int *r;
 int pr;
 Printer()->BeginDoc();
 pr=0;
 for (row=a+n-1, p1=x+n-1; row>=a; --row, --p1)
 {
  for (*p1=0, p2=*row+m-1; p2>=*row; --p2)
  {
   *p1+=*p2;
   Printer()->Canvas->TextOut(IntToStr(p2)+", "+IntToStr(*p2),0, pr*16);
   ++pr;
   if (pr*16>=PageHeight-16)
   {
    pr=0;
    Printer()->NewPage();
   }
  }
  delete [] row;
 }
 delete [] a;
 r=new int;
 for (p1=x+n, *r=1; p1>=x; --p1)
 {
  *r*=*p1;
  Printer()->Canvas->TextOut(IntToStr(*p1),0, pr*16);
  ++pr;
  if (pr*16>=PageHeight-16)
  {
   pr=0;
   Printer()->NewPage();
  }
 }
 Printer()->Canvas->TextOut(IntToStr(*r),0, pr*16);
 Printer()->EndDoc();
 delete r;
}
LoneR 23
0 / 0 / 0
Регистрация: 06.11.2011
Сообщений: 43
05.02.2012, 03:24  [ТС] #3
что-то не работает(((((
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
05.02.2012, 11:06 #4
код для борланд c++ builder по всей видимости
LoneR 23
0 / 0 / 0
Регистрация: 06.11.2011
Сообщений: 43
05.02.2012, 11:33  [ТС] #5
а мне нужно просто на с, плиз помогите люди. срочно нужно
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
05.02.2012, 11:57 #6
123456

Добавлено через 10 минут
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <iostream>
#include <cmath>
 
 
using namespace std;
 
void printArr(int *arr, const int N);
int sumarr(int *arr, const int N);
 
int main()
{
    const int Len = 10;
    int *arr, *newarr, *sum = NULL;
    
    arr = new int[Len];
    int number = 2;
    for (int *i = &arr[0]; i != &arr[Len]; i++)
    {
        *i = number++;
        cout << *i << (i != &arr[Len - 1] ? ", " : "\n");
    }
 
    newarr = new int [Len];
    for (int *i = &newarr[0], *j = &arr[Len - 1], *k = &arr[0]; i != &newarr[Len]; i++, j--, k++)
    {
        *i = (*j)*(*k);
    }
    
    printArr(newarr, Len);
    sumarr(newarr, Len);
    sum = new int;
    *sum = sumarr(newarr, Len);
    cout << *sum;
    
 
    delete sum;
    delete [] arr;
    delete [] newarr;
    return EXIT_SUCCESS;
}
 
 
void printArr(int *arr, const int N)
{
    for (int *i = &arr[0]; i != &arr[N]; i++)
    {
        cout << *i << (i != &arr[N - 1] ?  ", " : "\n" );
    }
}
 
int sumarr(int *arr, const int N)
{
    int summma = 0;
    for (int *i = &arr[0]; i != &arr[N]; i++)
    {
        summma += *i;
    }
    
    return summma;
}
LoneR 23
0 / 0 / 0
Регистрация: 06.11.2011
Сообщений: 43
07.02.2012, 09:24  [ТС] #7
помогите с 1-ой задачкой!срочно, люди выручайте!
агерон
268 / 267 / 33
Регистрация: 12.10.2009
Сообщений: 1,060
07.02.2012, 10:46 #8
сори, ошибся чуток, держи студент :-D
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
60
61
62
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <mem.h>
#include <dos.h>
#define N 5
#define M 5
 
int main(int argc, char** argv)
{
 int **matrix=new int*[N];
 int *vector=new int[N];
 setmem(vector,N*sizeof(int),0);
 for (int i=0;i<N;i++)
 {
  *(matrix+i)=new int[N];
  setmem(*(matrix+i),N*sizeof(int),0);
 }
 randomize();
 unsigned long compozition=1;
 for (i=0;i<N;i++)
 {
  for (int j=0;j<N;j++)
  {
   *(*(matrix+i)+j)=random(M)+1;
   *(vector+i)+=*(*(matrix+i)+j);
  }
  compozition*=*(vector+i);
 }
 clrscr();
 printf("Matrix:\n");
 for (i=0;i<N;i++)
 {
  for (int j=0;j<N;j++)
   printf("%2d", *(*(matrix+i)+j));
  printf("\n");
 }
 printf("\nVector:\n");
 for (i=0;i<N;i++)
  printf("%3d", *(vector+i));
 printf("\nCompozition: %lu\n", compozition);
 printf("\nPress any key for continue...");
 getch();
 clrscr();
 printf("Matrix (Addres of element):\n");
 for (i=0;i<N;i++)
  {
   for (int j=0;j<N;j++)
    printf("(%d)[%0.4x:%0.4x] ", *(*(matrix+i)+j), FP_SEG(*(matrix+i)+j), FP_OFF(*(matrix+i)+j));
   printf("\n");
  }
 printf("\n Vector (Addres of element):\n");
 for (i=0;i<N;i++)
  printf("(%d)[%0.4x:%0.4x] ", *(vector+i), FP_SEG(vector+i), FP_OFF(vector+i));
 printf("\nPress any key for exit...");
 getch();
 for (i=0;i<N;i++)
  delete []matrix[i];
 delete []vector;
 delete []matrix;
 return 0;
}
LoneR 23
0 / 0 / 0
Регистрация: 06.11.2011
Сообщений: 43
07.02.2012, 12:03  [ТС] #9
выдает массу ошибок!!!(((( ну ладно попробую найти и исправить

Добавлено через 1 час 10 минут
люди не смог исправить всё, плиз киньте другой вариант 1-й задачки срочно нужно
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
07.02.2012, 18:32 #10
Цитата Сообщение от LoneR 23 Посмотреть сообщение
а мне нужно просто на с, плиз помогите люди. срочно нужно
Ну я сейчас не очень помню принтер на других плюсах, а на чистых сях, или для других осей не знаю вовсе.
агерон
268 / 267 / 33
Регистрация: 12.10.2009
Сообщений: 1,060
07.02.2012, 20:10 #11
ты в чем то мою программу компилил? в какой среде? расширение файла .cpp вместо .c поставь и попробуй заново собрать
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.02.2012, 20:10
Привет! Вот еще темы с ответами:

У меня динамическая матрица ? - C++
#include &lt;iostream&gt; using namespace std; int main() { int n,i,j; float a; cout &lt;&lt;&quot;vv n&quot;; cin &gt;&gt; n; for...

Объясните динамическая матрица - C++
Здравствуйте. Объясните пожалуйста вот эти строчки кода. int **matrix = new int * ; for ( int index = 0; index &lt; n; index++ ) ...

Дана динамическая целочисленная матрица - C++
Записал код программы, но он не работает. Помогите пожалуйста найти ошибки!!!!! Дана динамическая целочисленная матрица. Построить...

Динамическая матрица. вставка столбца - C++
не получается вставка. задание таково, что после столбцов, не содержащих отрицательные элементы нужно вставить 2 столбец. вылетаю на строке...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
07.02.2012, 20:10
Ответ Создать тему
Опции темы

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