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

2 мерный масив - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ массив http://www.cyberforum.ru/cpp-beginners/thread65221.html
помогите сформировать 2 массива (2разные задачи): 1) сформировать массив IM (1,-1,2,-2,...,49,-49,50,-50) 2) сформировать массив y (1,3,5,7,...,49,50,48,46,...,4,2) заранее благодарен.
C++ Определить, существует ли треугольник со сторонами a, b, c 1) поределить существует ли треугольник со сторонами a,b,c, и если существует,то является ли он равносторонним,равнобедренным или разносторонним 2) вычислить r=p!где P третье число делящееся на 9 в диапазоне от 20 до 100 3)вывести на экран третье,пятое и шестое число,кратное 3и 7 в диапазоне от 120 до 270 4)задан массив Z(n) целых чисел.удалить из массива наибольший и наименьший элементы.в... http://www.cyberforum.ru/cpp-beginners/thread65214.html
класс Символьное дифференцирование. C++
Помогите пожалуйста с созданием такого класса. НОВЫЕ ПОНЯТИЯ: наследование, виртуальные методы. Реализовать абстрактный класс Expression с чисто виртуальными методами Expression *diff(); void print(); реализовать классы Number, Variable, Add (сумма), Sub (разность) с реализациями операции diff (дифференцирование) и print (печать на экран). Пример: Expression *e = new Add(new Number(1),...
Надо решить контрольную. C++
Помогите пожалуйста решить контрольную работу по информатике: 1) Написать программу на языке Visual Studio 2008, которая бы принимала в себя два числа, а затем делала бы их сложения. 2) Написать программу, которая бы сщитала окружность по ширине радиуса. 3)Написать программу, которая бы определяла вид переменной, которую принимает. Если можно объясните, как выучить язык Visual Studio...
C++ Несколько заданий - действия над числами http://www.cyberforum.ru/cpp-beginners/thread65159.html
Если кто может, может поможет?? не успеваю и не знаю как это делать пока.... Задача 1: Написать программу на Си для решения задачи в соответствии с вариантом. Варианты: 16) Вводиться трехзначное число. Определить: а) больше ли числа а сумма его цифр; б) кратна ли сумма его цифр числу а. Число а вводиться с клавиатуры. Задача 2: Написать программу на Си для решения задачи в соответствии с...
C++ Рекурсия:написать функцию которая возвращает степень числа помогите написать рекурсию которая возводит число в степень..из книги Напишите рекурсивную функцию которая возводит число в степень путем многократного умножения числа самого на себя,напрмер если ввели число 2 и степень 4 то ответ должен быть 16 у меня геморня с рекурсией,не могу представить как работает подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
19.11.2009, 14:36     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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#include <windows.h>
#include <stdio.h>
 
//Проверяет содержит ли строка 
//нулевые элементы и возвращает их кол-во
int IsZeroInRow(int n, int * pRow);
 
//Выделяет из строки столбец iCol
//Возвращаемый результат указатель на данный столбец pCol
int * GetColumn(int m, int n, int iCol, int ** mass, int * pCol);
 
//Ищет последовательность одинаковых элементов 
//в столбце pCol, возвращаемое значеие макс число
//одинаковых элементов 
int GetSequence(int m, int * pCol);
 
int ** mass = (int **)malloc(sizeof(int));
//Содержит число одинаковых элементов в каждом столбце
int * pCol = (int *) malloc(sizeof(int));
 
void main()
{
    printf("Enter num of Rows : ");
    int m;scanf("%d",&m);
    printf("Enter num of Cols : ");
    int n;scanf("%d",&n);
 
    mass = (int **)realloc((void *)mass,sizeof(int)*m);
    pCol = (int *)realloc((void *)pCol,sizeof(int)*m);
 
    printf("\tEnter elements of massiv\r\n");
    for(int i = 0,nRows = 0,j;i < m; i++)
    {
        mass[i] = (int *)malloc(sizeof(int)*n);
        for(j = 0; j < n; j++)
        {
            printf("mass[%d][%d] = ",i,j);
            scanf("%d",&mass[i][j]);
        }
        if(IsZeroInRow(n, mass[i]))
            nRows++;
    }
 
    int jmax  = 0;
    int nSame = 0;
    int iBuf  = 0;
    pCol =  GetColumn(m, n, jmax, mass, pCol);
    nSame = GetSequence(m, pCol);
    for(j = 1; j < n; j++)
    {
        pCol = GetColumn(m, n, j, mass, pCol);
        iBuf = GetSequence(m, pCol);
        if(nSame < iBuf)
        {
            nSame = iBuf;
            jmax  = j;
        }
    }
    printf("Num of Rows with zero elements : %d\r\n",nRows);
    printf("Column with max count of same elements : %d\r\n",jmax);
 
    mass = (int **)realloc((void *)mass,sizeof(int));
    pCol = (int *)realloc((void *)pCol,sizeof(int));
 
    printf("Press NUM1 to enter new massiv\r\n");
    scanf("%d",&iBuf);
    if(iBuf == 1)
        main();
    free(mass);
    free(pCol);
}
 
int IsZeroInRow(int n, int * pRow)
{
    int nCount = 0;
    if(pRow && 0 < n)
    {
        for(int i = 0; i < n; i++)
        {
            if(pRow[i] == 0)
                nCount++;
        }
    }
    return nCount;
}
 
int GetSequence(int m, int * pCol)
{
    int nSame = 0;
    if(pCol && 0 < m)
    {
        int iBuf = 1;
        int Elem = pCol[0];
        for(int i = 0,j; i < m; i++)
        {
            iBuf = 1;
            Elem = pCol[i];
            for(j = i + 1; j < m; j++)
            {
                if(pCol[j] == Elem)
                    iBuf++;
            }
            if(nSame < iBuf)
                nSame = iBuf;
        }
    }
    return nSame;
}
 
int * GetColumn(int m, int n, int iCol, int ** mass, int * pCol)
{
    if(pCol && mass && iCol < n)
    {
        for(int i = 0; i < m; i++)
            pCol[i] = mass[i][iCol];
    }
    return pCol;
}
Миниатюры
2 мерный масив  
 
Текущее время: 02:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru