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

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

Восстановить пароль Регистрация
 
Бо
 Аватар для Бо
5 / 5 / 2
Регистрация: 08.12.2009
Сообщений: 158
05.01.2010, 18:45     дана целочисленная матрица размера М*N.найти номер последней из строк,содержащих только четные числа #1
дана целочисленная матрица размера М*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");
                }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.01.2010, 18:45     дана целочисленная матрица размера М*N.найти номер последней из строк,содержащих только четные числа
Посмотрите здесь:

C++ Дана целочисленная квадратная матрица порядка n.Найти номер строк
Дана целочисленная матрица размера 6х9. Найти матрицу, получающуюся из данной: перестановкой строк - первой с последней, второй с предпоследней и т.д. C++
Дана целочисленная матрица размера M × N. Найти номер последней из ее строк, содержащих только четные числа C++
C++ Найти номер последней из строк матрицы, содержащих только четные числа.
Дана целочисленная прямоугольная матрица. Определить количество строк, не содержащих ни одного нулевого элемента C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
05.01.2010, 20:40     дана целочисленная матрица размера М*N.найти номер последней из строк,содержащих только четные числа #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);
}
Day
 Аватар для Day
1149 / 954 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
06.01.2010, 14:08     дана целочисленная матрица размера М*N.найти номер последней из строк,содержащих только четные числа #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
Scythian
 Аватар для Scythian
58 / 58 / 8
Регистрация: 01.01.2010
Сообщений: 222
06.01.2010, 14:43     дана целочисленная матрица размера М*N.найти номер последней из строк,содержащих только четные числа #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;
}
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
06.01.2010, 20:13     дана целочисленная матрица размера М*N.найти номер последней из строк,содержащих только четные числа #5
Цитата Сообщение от Day Посмотреть сообщение
P.S. В приведенном valeriikozlov коде выводится не номер нужной строки, а на 1 меньше.
Кроме того, и при отсутствии нужной строки, и ежели нужная - первая выводится 0
На всякий случай сообщаю, номера строк начинаются с нуля а не с единицы, по крайней среди большинства здесь присутствующих, начинайте привыкать к этому, если собираетесь дальше заниматься программированием. Насчет того что:
Цитата Сообщение от Бо Посмотреть сообщение
найти номер последней из строк,содержащих только четные числа.Если таких строк нет,то вывести 0.
то я поправил код, чтобы этот код начал выдавать правильные результаты. Насчет нулевой строки или которая для Вас первая, то Бо сам бы догадался как сделать. Если нет то бы подсказали.
Day
 Аватар для Day
1149 / 954 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
06.01.2010, 22:02     дана целочисленная матрица размера М*N.найти номер последней из строк,содержащих только четные числа #6
Цитата:
На всякий случай сообщаю, номера строк начинаются с нуля а не с единицы, по крайней среди большинства здесь присутствующих, начинайте привыкать к этому, если собираетесь дальше заниматься программированием

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

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

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

Или воспользуйтесь поиском по форуму:
Бо
 Аватар для Бо
5 / 5 / 2
Регистрация: 08.12.2009
Сообщений: 158
07.01.2010, 17:04  [ТС]     дана целочисленная матрица размера М*N.найти номер последней из строк,содержащих только четные числа #7
Спасиба теперь разобрался))
все работает))
Yandex
Объявления
07.01.2010, 17:04     дана целочисленная матрица размера М*N.найти номер последней из строк,содержащих только четные числа
Ответ Создать тему
Опции темы

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