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

Целочисленный массив - C++

Восстановить пароль Регистрация
 
olga92
0 / 0 / 0
Регистрация: 24.04.2012
Сообщений: 13
07.06.2012, 20:38     Целочисленный массив #1
Ребят помогите разобраться. Вот само задание: Дан целочисленный массив А[N] [M]. Определить индекс столбца, в котором находится максимальное количество нулей. Переставить элементы данного столбца в обратном порядке.
Если у меня получаются несколько столбцов с максимальным количеством нулей. Мне нужно, чтобы программа выводила несколько индексов и переставляла эти столбцы в обратном порядке.
Например я ввожу такую матрицу:
1 0 0
2 0 0
3 4 5
А программа выводила:
1 4 5
2 0 0
3 0 0
Индекс: 2, 3.

Добавлено через 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
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{ 
int N,M,c=0,max=0,s,i,j,f;
int index=0; 
cout«"Vvedite kol-vo strok massiva:";
cout«"Vvedite kol-vo stolbcov massiva:"; 
cin»M;
 
int **A=new int *[N];
for (int i=0;i<N;i++) 
A[i]=new int [M]; 
cout« "Matriza A("« N « "*" « M « "):" « endl;
for( int i = 0; i < N; i++)
for( int j = 0; j < M; j++)
cin » A[i][j];
for (int i=0;i<M;i++)
{
for(int j=0;j<N;j++)
{
if(A[j][i]==0)
{
max++;
}
}
if(c<max)
{
c = max;
index = i;
}
max = 0;
}
j=index; 
for(i=0;i<N/2;i++)
{f=A[i][j];
A[i][j]=A[(N-1)-i][j];
A[(N-1)-i][j]=f;}
printf("\n \n"); 
for (i=0;i<N;i++)
{ printf("\n");
for(j=0;j<M;j++)
printf("%d ",A[i][j]);
} 
printf("\n \n"); 
cout«"Index:"«index+1«endl;
for (i=0;i<N;i++)
delete A[i];
delete []A;
system("pause");
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2012, 20:38     Целочисленный массив
Посмотрите здесь:

целочисленный массив C++
Целочисленный массив C++
C++ Дан целочисленный массив размером N. Преобразовать массив, увеличив длину каждой серии на один элемент
C++ Дан целочисленный массив размера N. Сжать массив, удалив из него все элементы, модуль которых не превышает 1
Дан целочисленный массив размера N. Сжать массив, удалив из него все элементы, модуль которых не превышает 1 C++
C++ Сформировать целочисленный массив
целочисленный массив X(n) C++
C++ двумерный целочисленный массив

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
07.06.2012, 22:11     Целочисленный массив #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
#include <iostream> 
#include <ctime> 
#include <iomanip>
using namespace std; 
int main() 
{   
    setlocale(0, "Rus");
    const int size = 5; // размер матрицы
    int array[size][size]; 
    srand((unsigned)time(0)); 
    int i, j;  
    int arr[size] = {0}; // массива счётчика нулей
 
    for ( i = 0; i < size; i++) 
        for ( j = 0; j < size; j++) 
            array[i][j] = rand() % 4; // заполняем матрицу случайными числами от 0 до 4
 
    for ( i = 0; i < size; i++) 
    {
        for ( j = 0; j < size; j++) 
            cout <<setw(2) <<  array[i][j]; // выводим исходную матрицу
            cout << endl; 
    }  
 
    for ( i = 0; i < size; i++) 
        for ( j = 0; j < size; j++) // считаем нули
            if(array[i][j] == 0) 
                arr[j]++; 
 
    for ( i = 0; i < 5; i++) 
        cout << "В столбце " << i << "   " <<  arr[i] << " нулей " << endl;  
 
    int max = arr[0]; 
    int index = 0;  // индекс столбца где больше всег нулей
 
    for ( i = 1; i < 5; i++) 
        if(max < arr[i]) 
            index = i; 
 
    cout << "Больше всего нулей в строке номер " << index << endl; 
 
for ( i = 0; i < size / 2; i++) 
{ 
    int temp = array[i][index]; 
    array[i][index] = array[size-1-i][index]; // переставляем местами элементы
    array[size-1-i][index] = temp; 
} 
 
cout << endl; 
 
for ( i = 0; i < size; i++)  // выводим изменнённую матрицу
{
    for ( j = 0; j < size; j++) 
        cout << setw(2) <<array[i][j]; 
    cout << endl; 
} 
 
system("Pause");
 
return 0;
}
Когда вставляешь код в сообщение ставь теги С++
olga92
0 / 0 / 0
Регистрация: 24.04.2012
Сообщений: 13
08.06.2012, 10:40  [ТС]     Целочисленный массив #3
спасибо за помощь
Yandex
Объявления
08.06.2012, 10:40     Целочисленный массив
Ответ Создать тему
Опции темы

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