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

Вывести чётные и нечётные элементы - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
555shiro
 Аватар для 555shiro
8 / 8 / 1
Регистрация: 01.12.2009
Сообщений: 226
18.02.2010, 21:01     Вывести чётные и нечётные элементы #1
ЗДАСТВУЙТЕ !
не могу понять в чём ошибка,вроде всё правильно...
"в матрице а[4][4] четные элементы разделить на 4,а к нечетным прибавить 10.Вывести полученную матрицу"
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
#include<iostream.h>
#include <string.h>
#include <conio.h>
#include <stdio.h>
#include <math.h>
void main ()
{
int i,j;
int a[4][4];
   printf("vvedite elevent:\n");
    for(i=0;i<4;i++)
    for(j=0;j<4;j++)
 scanf("%d",&a[i][j]);
    for(i=0;i<4;i++)
    for(j=0;j<4;j++)
 if(a[i]%2==0)
{
a[i]=i/4;
 }
if(a[i]%2!==0)
    {
    a[i]=i+10;
    }
printf("%d\n",&a[i][j]);
getch ();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2010, 21:01     Вывести чётные и нечётные элементы
Посмотрите здесь:

Создать два массива: в одном хранятся чётные элементы исходного, в другом – нечётные C++
Закрасить нечётные отрицательные и чётные положительные элементы массива C++
Упорядочить нечётные элементы по убыванию, а чётные оставить на прежних местах C++
C++ Отсортировать массив, поставив сначала чётные элементы, а потом нечётные
C++ Отсортировать чётные элементы по возрастанию, а нечётные по убыванию
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
18.02.2010, 21:15     Вывести чётные и нечётные элементы #2
Код
a[i]=i/4;
заменить на
Код
a[i] /= 4
Код
a[i]=i+10;
заменить на
Код
a[i] += 10
Код
printf("%d\n",&a[i][j]);
этого я боюсь %)
лендер
46 / 46 / 2
Регистрация: 12.01.2010
Сообщений: 183
18.02.2010, 21:19     Вывести чётные и нечётные элементы #3
а- двухмерный масив соответственно надо обращятся к елементам етого масива нада a[i][j] а не как к одномерному

C++
1
if(a[i]%2!==0)
!== -такой операции в си нет есть !=


да и вывод двохмерного масива:
C
1
2
3
 for(i=0;i<4;i++)
    for(j=0;j<4;j++)
printf("%d\n",&a[i][j]);
выводи каждый елемент масива по очереди
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
18.02.2010, 21:26     Вывести чётные и нечётные элементы #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
void print_m(int *m, int row, int col)
{
    for(int i = 0; i < row; i++)
    {
        for(int j = 0; j < col; j++)
            cout << *m++ << " ";
        cout << endl;
    }
}
int main()
{
    const int S = 3, V = 3;
    int M[S][V];
    
    for(int i = 0; i < S; i++)
        for(int j = 0; j < V; j++)
            M[i][j] = rand()%9 + 1;
            
    puts("Исходная матрица");
    print_m((int*)M,S,V);
    
    for(int i = 0; i < S; i++)
        for(int j = 0; j < V; j++)
            if(M[i][j]%2 == 0)
                M[i][j] /= 4;
            else
                M[i][j] += 10;
    
    puts("Конечная матрица");
    print_m((int*)M,S,V);
    
    cout << endl;
    system("pause");
}
555shiro
 Аватар для 555shiro
8 / 8 / 1
Регистрация: 01.12.2009
Сообщений: 226
18.02.2010, 21:34  [ТС]     Вывести чётные и нечётные элементы #5
щас программа работает,но выходит вообще не то(
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
#include<iostream.h>
#include <string.h>
#include <conio.h>
#include <stdio.h>
#include <math.h>
void main ()
{
int i,j;
int a[4][4];
   printf("vvedite elevent:\n");
    for(i=0;i<4;i++)
    for(j=0;j<4;j++)
 scanf("%d",&a[i][j]);
    for(i=0;i<4;i++)
    for(j=0;j<4;j++)
 if ( a[i][j]%2==0 )
{
a[i][j]=a[i][j]/4;
 }
if ( a[i][j]%2!=0 )
    {
    a[i][j]=+10;
    }
printf("%d",&a[i][j]);
getch ();
}
вот что выходит после компиляции:
124520

Добавлено через 5 минут
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
void print_m(int *m, int row, int col)
{
        for(int i = 0; i < row; i++)
        {
                for(int j = 0; j < col; j++)
                        cout << *m++ << " ";
                cout << endl;
        }
}
int main()
{
        const int S = 3, V = 3;
        int M[S][V];
 
        for(int i = 0; i < S; i++)
                for(int j = 0; j < V; j++)
                        M[i][j] = rand()%9 + 1;  // мне не понятен,а здесь массиву что присаивается?
 
        puts("ÈñõîäГ*Г*Гї Г¬Г*òðèöГ*");
        print_m((int*)M,S,V);
 
        for(int i = 0; i < S; i++)
                for(int j = 0; j < V; j++)
                        if(M[i][j]%2 == 0)
                                M[i][j] /= 4;
                        else
                                M[i][j] += 10;
 
        puts("ГЉГ®Г*ГҐГ·Г*Г*Гї Г¬Г*òðèöГ*");
        print_m((int*)M,S,V);
 
        cout << endl;
        system("pause");
}
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
18.02.2010, 21:36     Вывести чётные и нечётные элементы #6
C++
1
2
3
   for(int i = 0; i < S; i++)
                for(int j = 0; j < V; j++)
                        M[i][j] = rand()%9 + 1;
Эта часть кода заполняет массив "случайными" значениями от 1 до 9.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.02.2010, 21:37     Вывести чётные и нечётные элементы
Еще ссылки по теме:

C++ Упорядочить по возрастанию чётные элементы отдельно, нечётные отдельно
Отсортировать по возрастанию и вывести на экран сперва чётные элементы вектора, а затем нечётные C++
Вывести нечётные по значению элементы массива по возрастанию, а чётные - по убыванию C++

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

Или воспользуйтесь поиском по форуму:
лендер
46 / 46 / 2
Регистрация: 12.01.2010
Сообщений: 183
18.02.2010, 21:37     Вывести чётные и нечётные элементы #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
#include <stdio.h>
void main ()
{
int i,j;
int a[4][4];
   printf("vvedite elevent:\n");
    for(i=0;i<4;i++)
    for(j=0;j<4;j++)
 scanf("%d",&a[i][j]);
    for(i=0;i<4;i++)
    for(j=0;j<4;j++)
    {
  if ( a[i][j]%2==0 )
    a[i][j]=a[i][j]/4;
 
  if ( a[i][j]%2!=0 )
    a[i][j]+=10;
     }
 
 
    for(i=0;i<4;i++)
    {
     printf("\n");
      for(j=0;j<4;j++)
    printf("%d ", a[i][j]);
    }
getch ();
}
Yandex
Объявления
18.02.2010, 21:37     Вывести чётные и нечётные элементы
Ответ Создать тему
Опции темы

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