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

Работа с двухмерными массивами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сортировка двухпутевыми вставками. http://www.cyberforum.ru/cpp-beginners/thread380198.html
У меня есть образец на паскале я его попробывал переделать на С++ но чо-то запутался ))). Массив int. Может кто-то знает как его правильно сделать ?
C++ Массив #pragma argsused #include <iostream.h> #include <conio.h> #include <stdlib.h> int main(int argc, char* argv) { int i,n,j,**a; cout <<"Vvedite razmernost' matricy ="; cin >>n; a=new int* ; for (int i=0;i<n;i++) a=new int; // ðàçìåòèëè ìåñòî ïîä ìàññèâ http://www.cyberforum.ru/cpp-beginners/thread380193.html
C++ Перевести программу с языка Паскаль в язык С++
Имееться задача на Pascale: {Метод Ньютона решения нелинейного уравнения} program Newton; uses crt; {модуль управления экраном} function f(x:real):real; {Исходная функция} begin f:=sqr(sqr(x))-5*sqr(x)-x+1; end;
Проверить, имеется ли в одномерном числовом массиве A из n элементов, хотя бы одна пара взаимно обратных чисел. C++
Проверить, имеется ли в одномерном числовом массиве A из n элементов, хотя бы одна пара взаимно обратных чисел. перенес в С++
C++ Многопутевая сортировка http://www.cyberforum.ru/cpp-beginners/thread380180.html
добрый вечер) имеется код программы по многопутевой сортировке...кто-нибудь может сказать почему она работает не правильно??? #include <iostream> #include <sstream> #include <vector> #include <string> std::vector< std::string > split(const std::string &str, char delim);
C++ Массивы, подсчёт, перестановка элементов. 1)найти кол-во элементов массива больших С 2)найти произведение элементов массива,расположенных после максимального по модулю элемента 3)преобразовать массив таким образом,чтобы сначала располагались все отрицательные элементы,а потом все положительные(элементы равные 0 считать положительными) ребят я знаю что эти задачи для вас несложные так что помогите плизз оч прошу подробнее

Показать сообщение отдельно
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
09.11.2011, 11:37     Работа с двухмерными массивами
Использовал алгоритм быстрой сортировки, массив 10х10 сделаете сами, заменив N на 10 и объявление arr
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
#include <stdlib.h>
 
void qsort_by_nzeros(int *v[], 
    int left, int right, int size);
 
#define N  4
 
int main()
{
    int arr[N][N] = {
        1, 2, 3, 4,
        0, 2, 0, 5,
        0, 3, 0, 5,
        2, 0, 0, 6
    };
    int **a, i, j;
 
    a = (int **) malloc(N * sizeof(int *));
    for (j = 0; j < N; j++) {
        a[j] = (int *) malloc(N * sizeof(int));
        for (i = 0; i < N; i++) 
            a[j][i] = arr[i][j];
    }
    qsort_by_nzeros(a, 0, N-1, N);
    printf("sorted by number of zeros in each column:\n");
    for (i = 0; i < N; i++) {
        for (j = 0; j < N; j++)
            printf("%2d ", a[j][i]);
        putchar('\n');
    }
    for (i = 0; i < N; i++)
        free(a[i]);
    free(a);
    return 0;
}
 
void qsort_by_nzeros(int *v[], int left, int right, int size)
{
    int i, last, count_zeros(int *, int);
    void swap(int **, int **);
 
    if (left >= right)  
        return;      
    swap(&v[left], &v[ (left + right)/2 ]);
    last = left;
    for (i = left+1; i <= right; i++)
        if (count_zeros(v[i], size) < count_zeros(v[left], size))
            swap(&v[++last], &v[i]);
    swap(&v[left], &v[last]);
    qsort_by_nzeros(v, left, last-1, size);
    qsort_by_nzeros(v, last+1, right, size);
}
 
void swap(int **a, int **b)
{
    int *tmp = *a;
    *a = *b;
    *b = tmp;
}
 
int count_zeros(int *arr, int size)
{
    int cnt = 0;
 
    for (size--; size >=0; size--)
        if (arr[size] == 0)
            cnt++;
    return cnt;
}
и двумерными
 
Текущее время: 08:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru