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

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

Войти
Регистрация
Восстановить пароль
 
Бо
5 / 5 / 2
Регистрация: 08.12.2009
Сообщений: 158
#1

дана целочисленная матрица размера М*N.найти номер последней из строк,содержащих только четные числа - C++

05.01.2010, 18:45. Просмотров 873. Ответов 6
Метки нет (Все метки)

дана целочисленная матрица размера М*N.найти номер последней из строк,содержащих только четные числа.Если таких строк нет,то вывести 0.


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
#include <math.h>
#include <stdio.h>
#include <malloc.h>
 
void main()
{
    int **a,M,N,i,j,k=0,kch=0;  
    
    printf("Vvedite M,N\n");
    scanf("%i%i",&M,&N);    
 
    a=(int**)malloc(M*sizeof(int*));
    
    for(i=0;i<M;i++)
    
        a[i]=(int*)malloc(N*sizeof(int));
    
    for(i=0;i<M;i++)
    for(j=0;j<N;j++)
        scanf("%i",&a[i][j]);
 
    for(i=0;i<M;i++)
        for(j=0;j<N;j++)
 
            {
            if( a[i][j]%2==0)
                k++;
        }
            if(k==N-1)
                kch=i;
        printf("%i",kch);
        else
            for(i=0;i<M;i++)
                for(j=0;j<N;j++)
 
                {
                    if( a[i][j]%2!=0)
                printf("0");
                }
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.01.2010, 18:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос дана целочисленная матрица размера М*N.найти номер последней из строк,содержащих только четные числа (C++):

Дана целочисленная матрица размера M × N. Найти номер последней из ее строк, содержащих только четные числа - C++
Matrix34. Дана целочисленная матрица размера M × N. Найти номер последней из ее строк, содержащих только четные числа. Если таких строк...

Найти номер последней из строк матрицы, содержащих только четные числа. - C++
Matrix34. Дана целочисленная матрица размера M × N. Найти номер последней из ее строк, содержащих только четные числа. Если таких строк...

Дана целочисленная матрица размера 6х9. Найти матрицу, получающуюся из данной: перестановкой строк - первой с последней, второй с предпоследней и т.д. - C++
Помогите написать программу на Си Дана целочисленная матрица размера 6х9. Найти матрицу, получающуюся из данной: перестановкой строк -...

Дана целочисленная матрица размера 6х9. Найти матрицу, получающуюся из данной: перестановкой строк - первой с последней, второй с предпоследней и т. д - C++
Помогите с кодом кто-нибудь :cry: Дана целочисленная матрица размера 6х9. Найти матрицу, получающуюся из данной: перестановкой строк -...

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

Дана целочисленная квадратная матрица порядка n.Найти номер строк - C++
Дана целочисленная квадратная матрица порядка n. Найти номера строк: a) все элементы которых – нули; b) элементы в каждой из которых...

6
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
05.01.2010, 20:40 #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
#include <malloc.h>
 
void main()
{
        int **a,M,N,i,j,k=0,kch=0;      
        
        printf("Vvedite M,N\n");
        scanf("%i%i",&M,&N);    
        a=(int**)malloc(M*sizeof(int*));
        for(i=0;i<M;i++)
            a[i]=(int*)malloc(N*sizeof(int));
        for(i=0;i<M;i++)
           for(j=0;j<N;j++)
                scanf("%i",&a[i][j]);
        for(i=0;i<M;i++)
        {
            k=0;
                for(j=0;j<N;j++)
                    if( a[i][j]%2==0)
                          k++;
                if(k==N)
                    kch=i;
        }
        printf("\n%i\n",kch);
}
2
Day
1158 / 963 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
06.01.2010, 14:08 #3
Строчки 15-24 я бы заменил...
Код
       for(i=M-1;i>=0;i--)    {
            for(j=0;j<N;j++)
                if ( a[i][j]%2 != 0) break;
                if (j==N) {
                    kch = i+1;
                    break;
                }   
        }
P.S. В приведенном valeriikozlov коде выводится не номер нужной строки, а на 1 меньше.
Кроме того, и при отсутствии нужной строки, и ежели нужная - первая выводится 0
2
Scythian
58 / 58 / 8
Регистрация: 01.01.2010
Сообщений: 222
06.01.2010, 14:43 #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
#include <iostream.h>
 
main()
{
 int M,N,**matr,count=0;
 cout<<"Please enter M and N:\t";
 cin>>M>>N;
 cout<<"Matrix "<<M<<'X'<<N<<"\nPlease enter elements of matrix\n";
 matr=new int*[M];
 for(int i=0;i<M;i++)
    {
        matr[i]=new int[N];
        for(int j=0;j<N;j++)
            cin>>matr[i][j];
    }
 cout<<"------------------\n";
 for(i=M-1;i>=0;i--)
    {
     for(int j=0;j<N;j++)
        if(matr[i][j]%2==0)
            count++;
        if(count==N)
            {
                cout<<i+1;
                goto M;
            }
        else
            count=0;
    }
  cout<<'0';
M:for(i=0;i<N;i++)
    delete(matr[i]);
  delete matr;
return 0;
}
2
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
06.01.2010, 20:13 #5
Цитата Сообщение от Day Посмотреть сообщение
P.S. В приведенном valeriikozlov коде выводится не номер нужной строки, а на 1 меньше.
Кроме того, и при отсутствии нужной строки, и ежели нужная - первая выводится 0
На всякий случай сообщаю, номера строк начинаются с нуля а не с единицы, по крайней среди большинства здесь присутствующих, начинайте привыкать к этому, если собираетесь дальше заниматься программированием. Насчет того что:
Цитата Сообщение от Бо Посмотреть сообщение
найти номер последней из строк,содержащих только четные числа.Если таких строк нет,то вывести 0.
то я поправил код, чтобы этот код начал выдавать правильные результаты. Насчет нулевой строки или которая для Вас первая, то Бо сам бы догадался как сделать. Если нет то бы подсказали.
2
Day
1158 / 963 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
06.01.2010, 22:02 #6
Цитата:
На всякий случай сообщаю, номера строк начинаются с нуля а не с единицы, по крайней среди большинства здесь присутствующих, начинайте привыкать к этому, если собираетесь дальше заниматься программированием

Это для нас, на-Сях-программирующих, счет начинается с Нуля.
А люди другие НУМЕРУЮТ с 1. Так их в школе учат.
Иногда из постановки задачи (даже такой простой) можно меж строк прочесть, какой
нумерации хочет заказчик.
Принято?
1
Бо
5 / 5 / 2
Регистрация: 08.12.2009
Сообщений: 158
07.01.2010, 17:04  [ТС] #7
Спасиба теперь разобрался))
все работает))
0
07.01.2010, 17:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.01.2010, 17:04
Привет! Вот еще темы с ответами:

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

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

Дана целочисленная прямоугольная матрица А размером N x M. Вычислить количество строк, не содержащих ни одного нуля - C++
Помогите пожалуйста !:) С++; Дана целочисленная прямоугольная матрица А размером N x M. Вычислить количество строк, не содержащих ни...

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


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

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

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