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

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

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

В прямоугольной матрице обнулить элементы строки, в которой максимальное количество четных элементов - C++

14.11.2013, 20:49. Просмотров 451. Ответов 14
Метки нет (Все метки)

В прямоугольной матрице обнулить элементы строки, в которой максимальное количество четных элементов.
Я сделал, но что-то неправильно. помогите пожалуйста исправить
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
#include<stdio.h>
#include<math.h>
#include<conio.h> 
#include<windows.h>
 
int main()
{
    int i,j,k,m,n,d,kol,max,imax;
    int kol=0;
    
    double a[10][10]={{4,8, 13, -34,16,-34.9, 18,7,12, -56},
                      {-34.9, 18.25,7,12, -56.14,13, 18, 34, -102,66},
             {13, 18, 34, -102,66,-38,-71,23,0.4,15},
             {13.6, -34.5,16.3,-34.9, 18.25,7,12, -56.14,13, 18},                             
              {16.3,-34.9, 18.25,7,12, -56.14,13, 18, 34, -102},
              {18.25,7,12, -56.14,13, 18, 34, -102,66,-38},
              {12, -56.14,13, 18, 34, -102,66,-38,-71,23},
              {8.4, 13.6, -34.5,16.3,-34.9, 18.25,7,12, -56.14,13},
              {-34.5,16.3,-34.9, 18.25,7,12, -56.14,13, 18, 34},
              {56.14,13, 18, 34, -102,66,-38,-71,23,0.4},
                 };
    double buf;
    printf("\t Введите размеры матрицы m<=10 n<=10\n");
    scanf("%d%d",&m,&n);
    if (m<=0 || m>10 ||n<=0 ||n>10)
    {   printf("\t Введенные размеры матрицы не допустимы\n",n);
        printf("\nДля завершения программы нажмите любую клавишу\n");
        getch(); exit(0);
    }
    printf("\nИсходная матрица \n");
    for(i=0; i<m;i++)
         for(j=0; j<n;j++)
             printf("%7.2lf%c",a[i][j],j==n-1?'\n':' '); 
        //MAIN
        for(i=0;i<m;i++){
            for(j=0;j<n;j++);{
            if(a[i][j]%2=0)
                kol[i]++;
    kol[0]=max;
    for(i=1;i<n;i++)
        if(kol[i]>max)
            max=kol[i];}
        {
            imax=i;
            for(j=0;j<m;j++)
                a[imax][j]=0;
        }
    
    //Вывод преобразованной матрицы
    printf("\n answer \n");
    for(i=0; i<m;i++)
         for(j=0; j<n;j++)
             printf("%7.2lf%c",a[i][j],j==n-1?'\n':' ');
    
    printf("\nДля завершения программы нажмите любую клавишу\n");
    getch();
    return 0;
}
Добавлено через 2 часа 10 минут
хм,АП тему
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2013, 20:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В прямоугольной матрице обнулить элементы строки, в которой максимальное количество четных элементов (C++):

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

Определить номер первой строки матрицы, в которой максимальное количество положительных элементов - C++
В заданном массиве Х(н,м) определить номер 1-ой строчки, в которой максимальное кол-во положительных элементов Добавлено через 51...

Обнулить элементы строки, в которой находится минимальный элемент - C++
Дана целочисленная квадратная матрица размера n. Найти максимальный элемент, минимальный элемент из столбца с максимальным элементом и...

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

В прямоугольной матрице выявить все строки, у которых максимальный элемент превосходит сумму остальных элементов строки - C++
С++ Кому не сложно, пожалуйста помогите новичку.. В прямоугольной матрице выявить все строки, у которых максимальный элемент...

В матрице В(4,4)обнулить строки, содержащие не меньше двух отрицательных элементов - C++
В матрице В(4,4) обнулить строки, содержащие не меньше двух отрицательных элементов Ребят помогите сижу на экзамене

14
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
14.11.2013, 21:13 #2
Строка 35, там 2 цикла с открывающимися скобками, а закрывающие я там не вижу. Получается вся программа в этих циклах, которая дальше. Или это какая-то фича синтаксиса о которой я не знаю?
0
asbdsh
0 / 0 / 1
Регистрация: 09.11.2013
Сообщений: 34
14.11.2013, 21:18  [ТС] #3
исправил, но проблема остается(((

Добавлено через 53 секунды
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
//В прямоугольной матрице обнулить элементы строки, в которой максимальное количество четных элементов.
#include<stdio.h>
#include<math.h>
#include<conio.h> 
#include<windows.h>
 
int main()
{
    int i,j,k,m,n,d,max,imax;
    int kol=0;
    
    double a[10][10]={{4,8, 13, -34,16,-34.9, 18,7,12, -56},
                      {-34.9, 18.25,7,12, -56.14,13, 18, 34, -102,66},
             {13, 18, 34, -102,66,-38,-71,23,0.4,15},
             {13.6, -34.5,16.3,-34.9, 18.25,7,12, -56.14,13, 18},                             
              {16.3,-34.9, 18.25,7,12, -56.14,13, 18, 34, -102},
              {18.25,7,12, -56.14,13, 18, 34, -102,66,-38},
              {12, -56.14,13, 18, 34, -102,66,-38,-71,23},
              {8.4, 13.6, -34.5,16.3,-34.9, 18.25,7,12, -56.14,13},
              {-34.5,16.3,-34.9, 18.25,7,12, -56.14,13, 18, 34},
              {56.14,13, 18, 34, -102,66,-38,-71,23,0.4},
                 };
    double buf;
    printf("\t Введите размеры матрицы m<=10 n<=10\n");
    scanf("%d%d",&m,&n);
    if (m<=0 || m>10 ||n<=0 ||n>10)
    {   printf("\t Введенные размеры матрицы не допустимы\n",n);
        printf("\nДля завершения программы нажмите любую клавишу\n");
        getch(); exit(0);
    }
    printf("\nИсходная матрица \n");
    for(i=0; i<m;i++)
         for(j=0; j<n;j++)
             printf("%7.2lf%c",a[i][j],j==n-1?'\n':' '); 
        //MAIN
        for(j=0;j<n;j++){
            for(i=0;i<m;i++);{
            if(a[i][j]%2=0)
                kol[i]++;}
                        }
    kol[0]=max;
    for(j=1;j<n;j++)
        if(kol[i]>max)
            max=kol[i];}
        {
            imax=i;
            for(j=0;j<m;j++)
                a[imax][j]=0;
        }
    //MAIN
    //Вывод преобразованной матрицы
    printf("\n answer \n");
    for(i=0; i<m;i++)
         for(j=0;j<n;j++)
             printf("%7.2lf%c",a[i][j],j==n-1?'\n':' ');
    
    printf("\nДля завершения программы нажмите любую клавишу\n");
    getch();
    return 0;
}
0
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
14.11.2013, 21:41 #4
asbdsh, 2 вопроса
1) Оно компилируется?
2) Если да, то в чем проблема?
А пока отвечаете буду думать, после работы так себе получается.

Добавлено через 1 минуту
Строка 42 j<n, а должно быть вроде i

Добавлено через 1 минуту
И строка 53, 54 m и n перепутал кажется.
1
asbdsh
0 / 0 / 1
Регистрация: 09.11.2013
Сообщений: 34
14.11.2013, 21:55  [ТС] #5
1) нет, не компилируется выдает 8 ошибок и все связаны с "для индекса требуется массив или указатель"
2) переделал код программы, но все равно еще ошибки( сейчас 8, а до этого было 42)
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
//В прямоугольной матрице обнулить элементы строки, в которой максимальное количество четных элементов.
#include<stdio.h>
#include<math.h>
#include<conio.h> 
#include<windows.h>
 
int main()
{
    int i,j,k,m,n,d,max,imax;
    int kol=0;
    
    double a[10][10]={{4,8, 13, -34,16,-34.9, 18,7,12, -56},
                      {-34.9, 18.25,7,12, -56.14,13, 18, 34, -102,66},
             {13, 18, 34, -102,66,-38,-71,23,0,15},
             {13.6, -34.5,16.3,-34.9, 18.25,7,12, -56.14,13, 18},                             
              {16.3,-34.9, 18.25,7,12, -56.14,13, 18, 34, -102},
              {18.25,7,12, -56.14,13, 18, 34, -102,66,-38},
              {12, -56.14,13, 18, 34, -102,66,-38,-71,23},
              {8.4, 13.6, -34.5,16.3,-34.9, 18.25,7,12, -56.14,13},
              {-34.5,16.3,-34.9, 18.25,7,12, -56.14,13, 18, 34},
              {56.14,13, 18, 34, -102,66,-38,-71,23,0.4},
                 };
    double buf;
    printf("\t Введите размеры матрицы m<=10 n<=10\n");
    scanf("%d%d",&m,&n);
    if (m<=0 || m>10 ||n<=0 ||n>10)
    {   printf("\t Введенные размеры матрицы не допустимы\n",n);
        printf("\nДля завершения программы нажмите любую клавишу\n");
        getch(); exit(0);
    }
    printf("\nИсходная матрица \n");
    for(i=0; i<m;i++)
         for(j=0; j<n;j++)
             printf("%7.2lf%c",a[i][j],j==n-1?'\n':' '); 
        //MAIN
 
    kol[0]=max;
        {for(int i=0;i<m;i++)
            {for(int j=0;j<n;j++){
                if((a[i][j])%2=0)
                    kol++;}
        }}
    
    for(i=1;i<m;i++){
        if(kol[i]>max){
            max=kol[i];}
    }
            imax=i;
            for(j=0;j<m;j++)
            {   a[imax][j]=0;
            }
    //MAIN
    //Вывод преобразованной матрицы
    printf("\n answer \n");
    for(i=0; i<m;i++)
         for(j=0;j<n;j++)
             printf("%7.2lf%c",a[i][j],j==n-1?'\n':' ');
    
    printf("\nДля завершения программы нажмите любую клавишу\n");
    getch();
    return 0;
}
0
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
14.11.2013, 21:57 #6
asbdsh, текущую версию кода скиньте с текстом ошибок. Будет гораздо проще.
0
asbdsh
0 / 0 / 1
Регистрация: 09.11.2013
Сообщений: 34
14.11.2013, 22:03  [ТС] #7
Текущий код
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
//В прямоугольной матрице обнулить элементы строки, в которой максимальное количество четных элементов.
#include<stdio.h>
#include<math.h>
#include<conio.h> 
#include<windows.h>
 
int main()
{
    int i,j,k,m,n,d,max,imax;
    int kol=0;
    
    double a[10][10]={{4,8, 13, -34,16,-34.9, 18,7,12, -56},
                      {-34.9, 18.25,7,12, -56.14,13, 18, 34, -102,66},
             {13, 18, 34, -102,66,-38,-71,23,0,15},
             {13.6, -34.5,16.3,-34.9, 18.25,7,12, -56.14,13, 18},                             
              {16.3,-34.9, 18.25,7,12, -56.14,13, 18, 34, -102},
              {18.25,7,12, -56.14,13, 18, 34, -102,66,-38},
              {12, -56.14,13, 18, 34, -102,66,-38,-71,23},
              {8.4, 13.6, -34.5,16.3,-34.9, 18.25,7,12, -56.14,13},
              {-34.5,16.3,-34.9, 18.25,7,12, -56.14,13, 18, 34},
              {56.14,13, 18, 34, -102,66,-38,-71,23,0.4},
                 };
    double buf;
    printf("\t Введите размеры матрицы m<=10 n<=10\n");
    scanf("%d%d",&m,&n);
    if (m<=0 || m>10 ||n<=0 ||n>10)
    {   printf("\t Введенные размеры матрицы не допустимы\n",n);
        printf("\nДля завершения программы нажмите любую клавишу\n");
        getch(); exit(0);
    }
    printf("\nИсходная матрица \n");
    for(i=0; i<m;i++)
         for(j=0; j<n;j++)
             printf("%7.2lf%c",a[i][j],j==n-1?'\n':' '); 
        //MAIN
 
    kol[0]=max;
        {for(int i=0;i<m;i++)
            {for(int j=0;j<n;j++){
                if((a[i][j])%2=0)
                    kol++;}
        }}
    
    for(i=1;i<m;i++){
        if(kol[i]>max){
            max=kol[i];}
    }
            imax=i;
            for(j=0;j<m;j++)
            {   a[imax][j]=0;
            }
    //MAIN
    //Вывод преобразованной матрицы
    printf("\n answer \n");
    for(i=0; i<m;i++)
         for(j=0;j<n;j++)
             printf("%7.2lf%c",a[i][j],j==n-1?'\n':' ');
    
    printf("\nДля завершения программы нажмите любую клавишу\n");
    getch();
    return 0;
}
ошибки : Строка Столбец
Ошибка 3 error C2109: для индекса требуется массив или указатель 37 1
Ошибка 5 error C2109: для индекса требуется массив или указатель 45 1
Ошибка 6 error C2109: для индекса требуется массив или указатель 46 1
Ошибка 4 error C2296: %: недопустимо, левый операнд имеет тип "double" 40 1
7 IntelliSense: выражение должно иметь тип указателя на объект 37 6
9 IntelliSense: выражение должно иметь тип указателя на объект c 45 10
10 IntelliSense: выражение должно иметь тип указателя на объект 46 12
8 IntelliSense: выражение должно иметь целочисленный или перечисляемый тип 40 8
Предупреждение 2 warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. 29 1
Предупреждение 1 warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 25 1
0
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
14.11.2013, 22:12 #8
Во-первых, вы не объявили массив kol, вы объявили переменную kol=0.
В 40 строке говорит, что с типом double нельзя находить остаток от деления, попробуйте сделать так, варианта 2:
-может помочь просто заменить = на ==, ибо == это оператор сравнения, а = присваивания.
-если не поможет, то прямое преобразование типа в int(= на == заменить все равно надо)
0
asbdsh
0 / 0 / 1
Регистрация: 09.11.2013
Сообщений: 34
14.11.2013, 22:29  [ТС] #9
сделал все как вы говорили, несколько ошибок пропало, но не компилируется.
остались ошибки связанные с kol[0]==0; kol[i]
0
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
14.11.2013, 22:34 #10
Ну объявите же массив.
Вместо int kol=0;
int kol[10];
Ну и нолики всем элементам присвоить надо.
0
asbdsh
0 / 0 / 1
Регистрация: 09.11.2013
Сообщений: 34
14.11.2013, 22:45  [ТС] #11
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
//В прямоугольной матрице обнулить элементы строки, в которой максимальное количество четных элементов.
#include<stdio.h>
#include<math.h>
#include<conio.h> 
#include<windows.h>
 
int main()
{
    int i,j,k,m,n,d,max,imax,kol;
    
    int a[10][10]={{4,8, 13, -34,16,-34, 18,7,12, -56},
                      {-34, 18,7,12, -56,13, 18, 34, -102,66},
             {13, 18, 34, -102,66,-38,-71,23,0,15},
             {13, -34,16,-34, 18,7,12, -56,13, 18},     
                 };
    double buf;
    printf("\t Введите размеры матрицы m<=10 n<=10\n");
    scanf("%d%d",&m,&n);
    if (m<=0 || m>4 ||n<=0 ||n>4)
    {   printf("\t Введенные размеры матрицы не допустимы\n",n);
        printf("\nДля завершения программы нажмите любую клавишу\n");
        getch(); exit(0);
    }
    printf("\nИсходная матрица \n");
    for(i=0; i<m;i++)
         for(j=0; j<n;j++)
             printf("%7.2lf%c",a[i][j],j==n-1?'\n':' '); 
        //MAIN
 
    max=kol[0];
        {
            for(int i=0;i<m;i++)
            {
                for(int j=0;j<n;j++){
                if((a[i][j])%2==0)
                    kol[i]++;}
            }}
    
    for(i=1;i<m;i++){
        if(kol[i]>max){
            max==kol[i];}
    }
            imax=i;
            for(j=0;j<m;j++)
            {   a[imax][j]=0;
            }
    //MAIN
    //Вывод преобразованной матрицы
    printf("\n answer \n");
    for(i=0; i<m;i++)
         for(j=0;j<n;j++)
             printf("%7.2lf%c",a[i][j],j==n-1?'\n':' ');
    
    printf("\nДля завершения программы нажмите любую клавишу\n");
    getch();
    return 0;
}
Добавлено через 8 минут
Уже успех! Скомпилировал. но есть ошибка в присваивании строке нулей.
Код получил такой
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
//В прямоугольной матрице обнулить элементы строки, в которой максимальное количество четных элементов.
#include<stdio.h>
#include<math.h>
#include<conio.h> 
#include<windows.h>
 
int main()
{
    int i,j,k,m,n,d,max,imax;
    int kol[10];
    
    int a[10][10]={{4,8, 13, -34,16,-34, 18,7,12, -56},
                     {-34, 18,7,12, -56,13, 18, 34, -102,66},
                     {13, 18, 34, -102,66,-38,-71,23,0,15},
                     {11, -34,16,-34, 18,7,12, -56,13, 18},
                     {55, 1, 4, -102,66,-38,-71,23,0,12},
                     {23, 18, 34, -12,66,-38,-71,23,0,25},
                     {3, 18, 4, -10,6,-38,-71,23,0,5},
                     {43, 28, 3, -42,46,38,-21,24,4,15},
                     {19, 18, 4, -10,22,38,-1,22,8,5},
                     {3, 8, 5, -24,6,-38,-71,23,0,3},
                 };
    double buf;
    printf("\t Введите размеры матрицы m<=10 n<=10\n");
    scanf("%d%d",&m,&n);
    if (m<=0 || m>10 ||n<=0 ||n>10)
    {   printf("\t Введенные размеры матрицы не допустимы\n",n);
        printf("\nДля завершения программы нажмите любую клавишу\n");
        getch(); exit(0);
    }
    printf("\nИсходная матрица \n");
    for(i=0; i<m;i++)
         for(j=0; j<n;j++)
             printf("%7.2lf%c",a[i][j],j==n-1?'\n':' '); 
        //MAIN
 
    max=kol[0];
        {
            for(int i=0;i<m;i++)
            {
                for(int j=0;j<n;j++){
                if((a[i][j])%2==0)
                    kol[i]++;}
            }}
    
    for(i=1;i<m;i++){
        if(kol[i]>max){
            max==kol[i];}
    }
        {   imax=i;
            for(j=0;j<m;j++)
            {   a[imax][j]=0;
            }}
    //MAIN
    //Вывод преобразованной матрицы
    printf("\n answer \n");
    for(i=0; i<m;i++)
         for(j=0;j<n;j++)
             printf("%7.2lf%c",a[i][j],j==n-1?'\n':' ');
    
    printf("\nДля завершения программы нажмите любую клавишу\n");
    getch();
    return 0;
}
0
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
14.11.2013, 23:32 #12
Работает-то как надо?
0
asbdsh
0 / 0 / 1
Регистрация: 09.11.2013
Сообщений: 34
14.11.2013, 23:53  [ТС] #13
нет( она компилируется, но вылетает ошибка, и данные не верные выводит
0
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
15.11.2013, 11:45 #14
Что за ошибка? Чтения, доступа к памяти?
0
asbdsh
0 / 0 / 1
Регистрация: 09.11.2013
Сообщений: 34
20.11.2013, 17:38  [ТС] #15
Вот уже готовый алгоритм, сам допилил. все работает!
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
//В прямоугольной матрице обнулить элементы строки, в которой максимальное количество четных элементов.
#include<stdio.h>
#include<math.h>
#include<conio.h> 
#include<windows.h>
 
int main()
{
int i,j,k,m,n,d,max,imax;
int kol[10];
int ikol[10];
int a[10][10]={{4,8, 13, -34,16,-34, 18,7,12, -56},
{-34, 18,7,12, -56,13, 18, 34, -102,66},
{13, 18, 34, -102,66,-38,-71,23,0,15},
{11, -34,16,-34, 18,7,12, -56,13, 18},
{55, 1, 4, -102,66,-38,-71,23,0,12},
{23, 18, 34, -12,66,-38,-71,23,0,25},
{3, 18, 4, -10,6,-38,-71,23,0,5},
{43, 28, 3, -42,46,38,-21,24,4,15},
{19, 18, 4, -10,22,38,-1,22,8,5},
{3, 8, 5, -24,6,-38,-71,23,0,3},
};
//Подключение кирилицы в консольном окне
SetConsoleOutputCP(1251);//Использует для вывода кодовую таблицу 1251
SetConsoleCP(1251); //Использует для ввода кодовую таблицу 1251
//Ввод и контроль размеров матрицы
printf("\t Введите размеры матрицы m<=10 n<=10\n");
scanf("%d%d",&m,&n);
if (m<=0 || m>10 ||n<=0 ||n>10)
{ printf("\t Введенные размеры матрицы не допустимы\n",n);
printf("\nДля завершения программы нажмите любую клавишу\n");
getch(); 
exit(0);
}
    
printf("\nИсходная матрица \n");
for(i=0; i<m;i++)//Цикл просмотра строк
for(j=0; j<n;j++)//Цикл просмотра элементов текущей строки
printf("%7d%c",a[i][j],j==n-1?'\n':' '); 
//MAIN
for(int i=0;i<m;i++) {
    kol[i]=0;
for(int j=0;j<n;j++) {
if(a[i][j]%2==0)
{
    kol[i]++;
    ikol[i] = 1;
}
 
}
}
int maximum = kol[0];
int index = ikol[0];
for ( j = 1; j < n; j++ ) {
    if ( kol[i] > maximum) {
        maximum = kol[i];
        index = ikol[i];
        
}
}
for(j=0;j<n;j++) {
    a[index][j] = 0;
}
//MAIN
//Вывод преобразованной матрицы
printf("\n answer \n");
for(i=0;i<m;i++)
for(j=0;j<n;j++)
printf("%7d%c",a[i][j],j==n-1?'\n':' ');
 
printf("\nДля завершения программы нажмите любую клавишу\n");
getch();
return 0;
}
0
20.11.2013, 17:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2013, 17:38
Привет! Вот еще темы с ответами:

Нахождение в прямоугольной матрице номера строки, имеющей максимальную сумму элементов - C++
Написать и протестировать функцию для нахождения в прямоугольной матрице номера строки, имеющей максимальную сумму элементов. Не...

В матрице А[N, N], сформированной случайным образом, обнулить все элементы, превосходящие среднее арифметическое элементов матрицы - C++
в общем:запара с программированием в университете.удалились с сетевого диска все программы.восстанавливать времени нет.Помогите пожалуйста....

В матрице сложить элементы строки, в которой расположен элемент с наименьшим значением - C++
Здравствуйте, товарищи форумчане! Столкнулся, казалось бы, с простой задачей: в заданной матрице 2х2 сложить элементы строки в которой...

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


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

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

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