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

Зачёт завтра!!!!!!! - C++

Восстановить пароль Регистрация
 
alenka!!!
 Аватар для alenka!!!
0 / 0 / 0
Регистрация: 28.12.2010
Сообщений: 5
29.12.2010, 00:25     Зачёт завтра!!!!!!! #1
помогите пожалуйста!!!! нужно решить 2 задачки

Работа с двумерными числовыми массивами. Использование указателей.
Использование функций пользователя.

1. Найти номер строки, в которой находится максимальное количество минимальных элементов строки.

2. Проверить упорядочены ли элементы столбцов матрицы. Если нет, то упорядочить их в порядке убывания методом попарного обмена.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
29.12.2010, 15:00     Зачёт завтра!!!!!!! #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
#include <conio.h>
#include<iostream>
#include<iomanip>
#include<map>
using namespace std;
 
void _find(int **mat, int n, int m){
    int i;
    multimap<int, int>map;
    multimap<int, int>::iterator it;
   for(i=0;i<n;i++){
        int cou=count(mat[i], mat[i]+m, *(min_element(mat[i], mat[i]+m)));
       map.insert(pair<int, int>(cou, i));
    }
    cout<<"\n\nIndex strok(i) \n\n";
    for(it=map.begin();it!=map.end();it++){
        if((*it).first==(*(--map.end())).first)
            cout<<it->second<<" ";
    }
}
void _sort(int **mat, int n, int m){
    int i, j, k;
    for(k=0;k<n-1;k++){
        for(j=0;j<m;j++){
            for(i=0;i<n-1;i++){
                if(mat[i][j]>mat[i+1][j]){
                    int temp=mat[i+1][j];
                    mat[i+1][j]=mat[i][j];
                    mat[i][j]=temp;
                }
            }
        }
    }
}
int main()
{
    int n, m, i, j;
    cout<<"Vvedite razmer matrici: n, m\n";
    cin>>n>>m;
    int **mat=new int *[n];
    for(i=0;i<n;i++)mat[i]=new int[m];
    cout<<"\n\nenter elements\n";
    for(i=0;i<n;i++){
        for(j=0;j<m;j++){
            printf("mat[%d][%d]= ", i, j);
            cin>>mat[i][j];
        }
        cout<<endl;
    }
    cout<<"\nSozdana matrica\n\n";
    for(i=0;i<n;i++){
        for(j=0;j<m;j++){
            cout<<setw(4)<<mat[i][j]<<" ";
        }
        cout<<"\n\n";
    }  
    _find(mat, n, m);
    _sort(mat, n, m);
    cout<<"\n\nPosle sortirovki stolbcov\n\n";
    for(i=0;i<n;i++){
        for(j=0;j<m;j++){
            cout<<setw(4)<<mat[i][j]<<" ";
        }
        cout<<"\n\n";
    }  
    getch();
}
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
29.12.2010, 15:08     Зачёт завтра!!!!!!! #3
1.
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
#include <iostream>
#include <algorithm>
#include <conio.h>
#include <limits.h>
 
using namespace std;
 
#define m 2
#define BASE 100
 
 
 
int main()
{
    setlocale(LC_ALL, "Russian");
    size_t n;
    int **matrix = new int *[m];
    printf_s("Введите размер строки матрицы\n");
    scanf_s("%u", &n);
    for (size_t i = 0; i < m; ++i)
    {
        matrix[i] = new int[n];
        for (size_t j = 0; j < n; ++j)
            scanf_s("%d", &matrix[i][j]);
    }
    int c0 = *min_element(matrix[0], matrix[0] + n);
    int c1 = *min_element(matrix[1], matrix[1] + n);
    int min_el = c1 > c0 ? c0 : c1; 
    c0 = count(matrix[0], matrix[0] + n, min_el);
    c1 = count(matrix[1], matrix[1] + n, min_el);
    cout << "Ответ ";
    if (c0 > c1)
        cout << 0;
    else
        if (c1 > c0)
            cout << 1;
        else
            cout << "поровну";
 
    _getch();
    return EXIT_SUCCESS;
}
alenka!!!
 Аватар для alenka!!!
0 / 0 / 0
Регистрация: 28.12.2010
Сообщений: 5
29.12.2010, 22:40  [ТС]     Зачёт завтра!!!!!!! #4
спасибо большое!!!!!!!!!! очень благодарна!!!!!!!!!!!
Yandex
Объявления
29.12.2010, 22:40     Зачёт завтра!!!!!!!
Ответ Создать тему
Опции темы

Текущее время: 09:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru