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

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

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

Двумерный массив и я - чайник - C++

01.12.2009, 18:13. Просмотров 1006. Ответов 8
Метки нет (Все метки)

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

Как можно вложить двумерный массив в двумерный? - C++
Нужно написать программу перемножения двух матриц размерностью МxМ, элементы которых, матрицы размерностью КxК... Подскажите (желательно с...

Массив: Как скопировать двумерный массив в другой массив? - C++
Как скопировать двумерный массив в другой массив?

Массив: преобразорвать двумерный массив в одномерный и отсортировать его методом пузырька - C++
всем привет. народ помогите с прогой, конкретно с функцией sort (65 строка), она должна двухмерный массив перевести построчно в одномерный...

Массив: Как можно задать и вывести симметричный двумерный массив? - C++
как можно задать и вывести симметричный массив

Чем отличаются двумерный символьный массив и массив указателей на строки - C++
Двумерный символьный массив и массив указателей на строки. Собственно чем они отличаются? Заранее спасибо.

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

8
_viktor_
0 / 0 / 0
Регистрация: 27.10.2009
Сообщений: 6
01.12.2009, 20:49  [ТС] #2
Помогите пожалуйста,сдавать очень скоро... Можно и за денюжку помоч...
0
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
01.12.2009, 21:04 #3
ты б начал с указания языка и что умеешь, а лучше что умеешь показал
0
M128K145
Эксперт С++
8293 / 3513 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
01.12.2009, 21:28 #4
вот
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
#include <iostream>
 
int main()
{
    setlocale(LC_ALL, "Russian");
    int n, m, i, j, mi(0), mj(0), k;
    std::cout<<"Введите количество строк:\n> ", std::cin>>n;
    std::cout<<"Введите количество столбцов:\n> ", std::cin>>m;
 
    std::cout<<"Введите матрицу:\n";
    int** mas = new int*[n];
    for(i = 0; i < n; ++i)
    {
        mas[i] = new int[m];
        for(j = 0; j < m; ++j)
        {
            std::cin>>mas[i][j];
            if(mas[i][j] < mas[mi][mj])
                mi = i, mj = j;
        }
    }
    std::cout<<std::endl;
    for(k = 0; k < n; ++k)
    {
        mas[k][0] ^= mas[k][mj] ^= mas[k][0] ^= mas[k][mj];
        for(i = 0; i < n; ++i, std::cout<<std::endl)
            for(j = 0; j < m; ++j, std::cout<<' ')
                std::cout<<mas[i][j];
        std::cout<<std::endl;
    }
 
    for(k = 0; k < m; ++k)
    {
        mas[0][k] ^= mas[mi][k] ^= mas[0][k] ^= mas[mi][k];
        for(i = 0; i < n; ++i, std::cout<<std::endl)
            for(j = 0; j < m; ++j, std::cout<<' ')
                std::cout<<mas[i][j];
        std::cout<<std::endl;
    }
 
    std::cout<<"Результат:\n";
    for(i = 0; i < n; ++i, std::cout<<std::endl)
        for(j = 0; j < m; ++j, std::cout<<' ')
            std::cout<<mas[i][j];
    system("pause");
    return 0;
}

Цитата Сообщение от _viktor_ Посмотреть сообщение
Можно и за денюжку помоч..
А килограмм печенья привезешь вместо денег?
0
_viktor_
0 / 0 / 0
Регистрация: 27.10.2009
Сообщений: 6
02.12.2009, 16:07  [ТС] #5
ну форум про с/с++ значит прогу нада на с или с++ =) про печенье,то вместо того,чтобы так шутить по тупому лучше бы помогли. Хотя уже не нада,сегодня сам написал. Вот:

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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
// laba4.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include "stdafx.h"
#include "conio.h"
#include "process.h"
#include "math.h"
#include "stdlib.h"
#include "time.h"
 
void print_array (int **a,int m, int n);
 
int _tmain(int argc, _TCHAR* argv[])
{ 
int **mas = NULL;
int *temp = NULL;
int i = 0; 
int j = 0;
int m = 0;
int n = 0;
int min = 0;
int imin = 0;
int jmin = 0;
char menu;
 
do
{
    printf("\n 1 - vvod \n 2 - obrabotka \n 3 - vivod \n 0 - exit \n");
    menu = _getch();
        
    switch(menu)
        {
            case '1':    
                printf ("vvedite kol-vo strok: ");
                scanf_s("%d",&m);
                printf ("vvedite kol-vo stolbcov: ");
                scanf_s("%d",&n);
  
                temp = new int[100];
                mas = new int *[m];
                for (int i=0; i<m; i++)
                    mas[i]= new int[n];
                    for (int i=0; i<m; i++)
                        for (int j=0; j<n; j++)
                        {
                            mas[i][j]=rand()%25;
                        }
                break;
 
            case '2':
                printf("****************************\n");
                print_array (mas, m, n );
                printf("****************************\n");
                _getch();
 
                min = mas[0][0];
 
                for(i = 0; i < m; ++i)
                {
                    for(j = 0; j < n; ++j)
                    {
                        if(mas[i][j] < min)
                        {
                            min = mas[i][j];
                            imin = i;
                            jmin = j;
                        }
                    }
                }
 
                for(i = 0, j = jmin; i < n; ++i)
                {
                    temp[i] = mas[i][j];
                    mas[i][j] = mas [i][0];
                    mas[i][0] = temp[i];
                }
            
                printf("****************************\n");
                print_array (mas, m, n );
                printf("****************************\n");
                _getch();
 
                for(j = 0, i = imin; j < m; ++j)
                {
                    temp[j] = mas[i][j];
                    mas[i][j] = mas [0][j];
                    mas[0][j] = temp[j];
                }
 
                printf("****************************\n");
                print_array (mas, m, n );
                printf("****************************\n");
                _getch();
                break;
 
            case '3':
                printf("****************************\n");
                print_array (mas, m, n );
                printf("****************************\n");
 
                printf("min = %d;\nimin = %d;\njmin = %d.\n", min, imin, jmin);
                _getch();
                break;
 
            case '0':
                break;
 
            default:
                printf("Error!");
                _getch();
 
        }
} while(menu != '0');
 
 
 
//for (int i=0; i<m; i++)
    //delete [] mas [i];
//delete []mas;
      
    return 0;
}
 
void print_array (int **a, int m, int n )
{ 
    int i = 0;
    int j = 0;
    for(i = 0; i < m; ++i)
    {
        for(j = 0; j < n; ++j)
        {
            printf ("%d ", a[i][j]);
        }
        printf("\n");
    }    
}
0
M128K145
Эксперт С++
8293 / 3513 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
02.12.2009, 20:10 #6
Цитата Сообщение от _viktor_ Посмотреть сообщение
вместо того,чтобы так шутить по тупому лучше бы помогли
Собственно прочитай еще раз мое сообщение(кликни на слово "вот"). Там вполне рабочий код на С++
0
TanT
эволюционирую потихоньку
465 / 463 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
02.12.2009, 20:57 #7
Цитата Сообщение от _viktor_ Посмотреть сообщение
ну форум про с/с++ значит прогу нада на с или с++ =) про печенье,то вместо того,чтобы так шутить по тупому лучше бы помогли. Хотя уже не нада,сегодня сам написал.
поддерживаю старшего товарища M128K145, и от себя добавлю, если ты не чувствуешь разницы между с и с++, то я тебе могу тока посочувствовать. а на каком форуме нахожусь я без сопливых знаю.

не хорошо в общем _viktor_ использовать обороты типа "по тупому" по отношению к модератору особено когда ты не прав
0
_viktor_
0 / 0 / 0
Регистрация: 27.10.2009
Сообщений: 6
03.12.2009, 10:24  [ТС] #8
ой извините!!!!! не заметил =( стыдно,извините( а на счет с или с++,то я на первом курсе и мы используем немного функций их с и какие то из с++
0
Жека10
1 / 1 / 0
Регистрация: 26.11.2009
Сообщений: 5
09.12.2009, 00:33 #9
ребят, помогите разрешить двумерный массив!

Дан вещественный массив из 3 строк и 5 столбцов.Упорядочить массив по убыванию дробной части элементов второй строки.
0
09.12.2009, 00:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2009, 00:33
Привет! Вот еще темы с ответами:

Дан двумерный массив размерностью 4*5. Сформировать одномерный массив - C++
Дан двумерный массив размерностью 4*5, заполненный целыми числами с клавиатуры. Сформировать одномерный массив каждый элемент которого...

Дан двумерный массив, создать другой массив, строками которого будут диагонали первого массива - C++
Дан двумерный массив , создать другой массив ,строками которого будут диагонали первого массива, решить с помощью классов . Класс...

Дан двумерный массив. Сформировать одномерный массив из элементов заданного массива, расположенных под побочной диагональю. - C++
Дан двумерный массив размером n x n. Сформировать: Одномерный массив из элементов заданного массива, расположенных под побочной...

Скопировать двумерный массив в одномерный массив из 50 элементов - C++
Создать двумерный массив 10*5, заполнить его значениями ( i^2-j^2), где i и j итераторы двумерного массива. А затем скопировать двумерный...


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

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

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