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

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

Войти
Регистрация
Восстановить пароль
 
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,235
Завершенные тесты: 1
#1

найти адрес первого нечетного числа в матрице - C++

21.12.2010, 15:28. Просмотров 359. Ответов 5
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
for(int i=0;i<n;i++)    
for(int j=0;j<n;j++)
{
if(x[i][j]%2!=0)
{
p[0]=i;
p[1]=j;
break;
}
}
почему i всегда 4 выводит?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2010, 15:28     найти адрес первого нечетного числа в матрице
Посмотрите здесь:

Нахождение нечетного наибольшего числа в матрице - C++
Дана матрица MXN. В ней надо найти нечетное наибольшее число среди случайных чисел в диапазоне от -27 до 38. #include &quot;stdafx.h&quot; ...

Номер первого максимального нечетного числа из данного набора - C++
Дано целое число N и набор из N целых чисел. Найти номер первого максимального нечетного числа из данного набора. Если нечетные числа в...

Как найти количество элементов массива, зная лишь адрес первого элемента и тип? - C++
Где-то в коде объявлен массив, кол-во элементов неизвестно, имеется ссылочная переменная на этот массив и все, назовем ее (А), как узнать...

Ввод двузначных целых чисел до первого нечетного - C++
Задача: ввести с клавиатуры двузначные целые числа до первого нечетного. подсчитать кол-во введенных чисел и сумму чисел с равными...

В массиве вставить нуль после первого нечетного эл - C++
Дан массив целых чисел из n элементов. Вставить нуль после первого нечетного элемента и единицу перед последним четным элементом.Массив...

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
21.12.2010, 15:45     найти адрес первого нечетного числа в матрице #2
^Tecktonik_KiLLeR, оператор break делает выход только из цикла:
Цитата Сообщение от ^Tecktonik_KiLLeR Посмотреть сообщение
for(int j=0;j<n;j++)
а цикл с i продолжается.

Цитата Сообщение от ^Tecktonik_KiLLeR Посмотреть сообщение
почему i всегда 4 выводит?
Предполагаю что у Вас n равно 5 и в 4-ой строке встречается нечетное число.
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,235
Завершенные тесты: 1
21.12.2010, 15:47  [ТС]     найти адрес первого нечетного числа в матрице #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
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
75
76
//Trvac e matric,vori tarrer@ [-15:88] mijakayqin patkanox tveren.
//Haytnaberel matrici mecaguyn tarr@,ev nra bajanararnern artagrel mek ayl zangvaci mej.
//Veradarcnum e arajin kent tari hascen ev hxum parametrov arjeqavorum e main() funkciayi arachadrvac popoxakan@.
//Xndir@ lucel funkcianeri ognutyamb.
#include <iostream>
#include <time.h>
#include <stdlib.h>
#include <windows.h>
using namespace std;
const int n=5;
const int psize=2;
void inp(int x[][n],int y[]);
int calc(int x[][n],int y[],int p[]);
void out(int x[][n],int y[],int k,int p[]);
void main()
{
    srand(time(0));
    int k=0;
    int x[n][n];
    int y[n*n];
    int p[psize];
    inp(x,y);
    k=calc(x,y,p);
    out(x,y,k,p);
}
void inp(int x[][n],int y[])
{
    for(int i=0;i<n;i++)
        for(int j=0;j<n;j++)
            x[i][j]=rand()%103-15;
    for(int i=0;i<n*n;i++)  
        y[i]=0;
}
int calc(int x[][n],int y[],int p[])
{
    int max=x[0][0];
    int k=0;
    int z=0;
    for(int i=0;i<n;i++)//MAX
        for(int j=0;j<n;j++)
            if(max<x[i][j])
                max=x[i][j];   
    for(int  i=0;i<n;i++)   
                for(int j=0;j<n;j++)
                    if(x[i][j]!=0)
                        if(max%x[i][j]==0)
                        {
                                y[z]=x[i][j];
                                ++z;    //qanaq
                        }
        for(int i=0;i<n;i++)    
                   for(int j=0;j<n;j++)
                {
                    if(x[i][j]%2!=0)
                    {
                        p[0]=i;
                        p[1]=j;
                        break;                      
                    }
                }              
        return z;
}
void out(int x[][n],int y[],int k,int p[])
{
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
            cout<<x[i][j]<<" ";
        cout<<endl;
    }    
    cout<<endl<<endl;
    for(int  i=0;i<k;i++)  
        cout<<y[i]<<" ";
    cout<<endl;
    cout<<"The coordinates of the first odd number are: i="<<p[0]<<", j="<<p[1]<<endl;
}
вот весь код
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
21.12.2010, 15:48     найти адрес первого нечетного числа в матрице #4
^Tecktonik_KiLLeR, можна еще счетчик использовать

C++
1
2
3
4
5
6
7
8
9
10
11
int tmp=0;
for(int i=0;i<n;i++)    
for(int j=0;j<n;j++)
{
if(x[i][j]%2!=0 && !tmp)
{
p[0]=i;
p[1]=j;
tmp=1;
}
}
^Tecktonik_KiLLeR
1159 / 441 / 22
Регистрация: 23.06.2009
Сообщений: 6,235
Завершенные тесты: 1
21.12.2010, 15:50  [ТС]     найти адрес первого нечетного числа в матрице #5
Цитата Сообщение от valeriikozlov Посмотреть сообщение
а цикл с i продолжается.
а что делать что бы 2 цикла остановились?О_о

Добавлено через 1 минуту
MILAN, помогло,спасибо
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.12.2010, 15:51     найти адрес первого нечетного числа в матрице
Еще ссылки по теме:

В матрице А(N,N) найти индексы первого элемента, превосходящего среднее арифметическое всех элементов - C++
В заданной матрице А(N,N) найти индексы первого элемента, превосходящего среднее фрифметическое всех элементов. Элементы матриц...

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

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

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

В матрице найти наибольший и наименьший элементы и поместить их на место первого и последнего элемента матрицы соответственно (Pascal -> C++) - C++
В заданной матрице D найти наибольший и наименьший элементы и поместить их на место первого и последнего элемента матрицы соответственно....

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


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

Или воспользуйтесь поиском по форуму:
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
21.12.2010, 15:51     найти адрес первого нечетного числа в матрице #6
Как вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
bool fl=true;
for(int i=0;fl && i<n;i++)    
for(int j=0;fl && j<n;j++)
{
if(x[i][j]%2!=0)
{
p[0]=i;
p[1]=j;
fl=!fl;
}
}
Yandex
Объявления
21.12.2010, 15:51     найти адрес первого нечетного числа в матрице
Ответ Создать тему
Опции темы

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