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

Записать элементы из двух массивов в третий и поменять в нем местами минимальный и максимальный элемент - C++

Восстановить пароль Регистрация
 
zacl
0 / 0 / 0
Регистрация: 25.02.2014
Сообщений: 8
27.02.2014, 15:07     Записать элементы из двух массивов в третий и поменять в нем местами минимальный и максимальный элемент #1
Помогите пожалуйста с прогой, как Можно проще , по условию :Записать четные положительные элементы целочисленных массивов X и Y в массив Z. Поменять местами минимальный и максимальный элемент массива Z
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2014, 15:07     Записать элементы из двух массивов в третий и поменять в нем местами минимальный и максимальный элемент
Посмотрите здесь:

C++ Поменять местами максимальный и минимальный элементы
C++ Поменять местами максимальный и минимальный элемент в массиве
Поменять местами минимальный и максимальный элемент C++
В двумерном массиве поменять местами максимальный и минимальный элемент местами C++
C++ Найти в массиве максимальный элемент и минимальный элемент, и поменять их местами
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
THE--MASTER
27.02.2014, 15:20
  #2

Не по теме:

я ж напишу на STL, тебе ж не подойдёт :-) Чё время терять - то

SatanaXIII
27.02.2014, 15:24
  #3

Не по теме:

THE--MASTER, ну и не пишите вообще, раз не можете ничего без stl написать. Чего зубоскалить?

Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,537
Записей в блоге: 27
27.02.2014, 16:36     Записать элементы из двух массивов в третий и поменять в нем местами минимальный и максимальный элемент #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
int main()
{
    int X[5];
    int Y[5];
    int Z[10];
    int c = 0;
    int max = 10, min = -10;
 
    for (int i = 0; i < 5; ++i)
    {
        X[i] = min + rand() % (max - min);
        std::cout << " " <<  X[i];
        if (X[i] > 0) {Z[c] = X[i]; ++c;}
    }
    std::cout  << "\n";
    for (int i = 0; i < 5; ++i)
    {
        Y[i] = min + rand() % (max - min);
        std::cout << " " << Y[i];
        if (Y[i] > 0) {Z[c] = Y[i]; ++c;}
    }
    std::cout  << "\n";
    for (int i = 0; i < c; ++i)
        std::cout << Z[i] << " ";
    system("pause>>null");
}
Добавлено через 49 секунд
Ой, только забыла поменять местами элементы максимума и минимума. Сейчас.

Добавлено через 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
35
36
37
38
39
40
41
42
43
44
#include <iostream>
int main()
{
    int X[5];
    int Y[5];
    int Z[10];
    int c = 0;
    int max = 10, min = -10;
 
    for (int i = 0; i < 5; ++i)
    {
        X[i] = min + rand() % (max - min);
        std::cout << " " <<  X[i];
        if (X[i] > 0) {Z[c] = X[i]; ++c;}
    }
    std::cout  << "\n";
    for (int i = 0; i < 5; ++i)
    {
        Y[i] = min + rand() % (max - min);
        std::cout << " " << Y[i];
        if (Y[i] > 0) {Z[c] = Y[i]; ++c;}
    }
    std::cout  << "\n";
    max = Z[0];
    int id_max = 0, id_min = 0;
    min = Z[0];
    for (int i = 0; i < c; ++i)
    {
        if (Z[i] > max) {max = Z[i]; id_max = i;}
    }
    for (int i = 0; i < c; ++i)
    {
        if (Z[i] < min) { min = Z[i]; id_min = i;}
    }
 
    int temp = Z[id_max];
    Z[id_max] = Z[id_min];
    Z[id_min] = temp;
 
    for (int i = 0; i < c; ++i)
        std::cout << Z[i] << " ";
 
    system("pause>>null");
}
SatanaXIII
27.02.2014, 16:38
  #5

Не по теме:

Цитата Сообщение от Тамика Посмотреть сообщение
Вот. В попытках представить себя снова первокурсницей.
Да это ж только хорошо. Вон тут некоторые люди уже так и не могут. Скоро в раздел по шарпу уйдут.

Тамика
Котовчанин
 Аватар для Тамика
859 / 439 / 129
Регистрация: 16.02.2010
Сообщений: 2,537
Записей в блоге: 27
27.02.2014, 17:08     Записать элементы из двух массивов в третий и поменять в нем местами минимальный и максимальный элемент #6
Чёрт, там еще и четность же проверяется. Пардон. Сплю.
Окончательный вариант. Модераторы - если можно, то уберите предыдущий код, а то дофига получлось.
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
int main()
{
    int X[5];
    int Y[5];
    int Z[10];
    int c = 0;
    int max = 10, min = -10;
 
    for (int i = 0; i < 5; ++i)
    {
        X[i] = min + rand() % (max - min);
        std::cout << " " <<  X[i];
        if ((X[i] > 0)&&(X[i] % 2 == 0)) {Z[c] = X[i]; ++c;}
    }
    std::cout  << "\n";
    for (int i = 0; i < 5; ++i)
    {
        Y[i] = min + rand() % (max - min);
        std::cout << " " << Y[i];
        if ((Y[i] > 0)&&(Y[i] % 2 == 0)) {Z[c] = Y[i]; ++c;}
    }
    std::cout  << "\n";
    max = Z[0];
    int id_max = 0, id_min = 0;
    min = Z[0];
    for (int i = 0; i < c; ++i)
    {
        if (Z[i] > max) {max = Z[i]; id_max = i;}
    }
    for (int i = 0; i < c; ++i)
    {
        if (Z[i] < min) { min = Z[i]; id_min = i;}
    }
 
    int temp = Z[id_max];
    Z[id_max] = Z[id_min];
    Z[id_min] = temp;
 
    for (int i = 0; i < c; ++i)
        std::cout << Z[i] << " ";
 
    system("pause>>null");
}
Добавлено через 50 секунд
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Да это ж только хорошо. Вон тут некоторые люди уже так и не могут. Скоро в раздел по шарпу уйдут.

Высокомерие... Неуважение к статичесим массивам...
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5547 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
28.02.2014, 08:29     Записать элементы из двух массивов в третий и поменять в нем местами минимальный и максимальный элемент #7
Цитата Сообщение от Тамика Посмотреть сообщение
Модераторы - если можно, то уберите предыдущий код, а то дофига получлось
Да пусть будет. Вдруг кому понадобится без проверки четности.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.02.2014, 16:11     Записать элементы из двух массивов в третий и поменять в нем местами минимальный и максимальный элемент
Еще ссылки по теме:

Из двух массивов сформировать третий, и записать в него элементы C++
Поменять местами минимальный элемент с первым элементом массива, а максимальный элемент с последним C++
C++ Массивы: поменять местами минимальный по модулю элемент и максимальный отрицательный элемент

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

Или воспользуйтесь поиском по форуму:
Luciferion
0 / 0 / 0
Регистрация: 28.02.2014
Сообщений: 5
28.02.2014, 16:11     Записать элементы из двух массивов в третий и поменять в нем местами минимальный и максимальный элемент #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
#include <iostream.h>
#include <math.h>
#include <conio.h>
 
int main()
{
    int a,b,c=0;
    cout<<"lenght of massive X:";
    cin>>a;
    int *X= new int[a];
    cout<<"lenght of massive Y:";
    cin>>b;
    int *Y= new int[b];
    int *Z= new int[a+b];
    for(int i=0;i<a;i++)
 {
    cout <<"X["<<i+1<<"]"<<":";
    cin>> X[i];
    if (X[i]>0 && X[i]%2==0)
    {
        Z[c]=X[i];
        c+=1;
    }
 }
 for (int i=0;i<b;i++)
 {
    cout<<"Y["<<i+1<<"]"<<":";
    cin>>Y[i];
    if (Y[i]>0 && Y[i]%2==0)
    {
        Z[c]=Y[i];
        c+=1;
    }
 }
 cout<<" \n Y:";
 for (int i=0;i<c;++i)
 {
    cout<< Z[i] <<" ";
 }
 
 int max,min,n,k,m;
 max=Z[0]; n=0;
 min=Z[1]; m=1;
 for (int i=0;i<c;i++)
 {
    if (Z[i]<min)
        m=1;min=Z[i];
    if (Z[i]>max) 
    n=i;max=Z[i];
 }
 k=Z[m];
 Z[m]=Z[n];
 Z[n]=k;
 cout<< "\n Z:";
 for (int i=0;i<c; ++i)
 {
    cout<<Z[i]<<" ";
 }
 delete []X;
 delete []Y;
 delete []Z;
 return 0;
}
Добавлено через 24 секунды
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
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
#define N 10
#define A -100
#define B 100
 
int main()
{
    srand(time(NULL));
    int max, min, x[N],y[N], z[N],i;
    for (i=0;i<N;i++)
    {
        x[i]=A+rand()%(B-A-1);
        y[i]=A+rand()%(B-A-1);
        z[i]=x[i];
        cout<<"\nX:"<<x[i]<<"\nY:"<<y[i]<<endl;
        if (x[i]>0 && x[i]%2==0)
        x[i]=z[i], cout<<"       Z:"<<z[i];
            z[i]=y[i];
        if (y[i]>0 && y[i]%2==0)
        y[i]=z[i], cout<<"       Z:"<<z[i];
        
    }
      (z[i]>max)? max: z[i];
      (z[i]<min)? min : z[i];
      cout<<"\n"<<max<<"\n"<<min<<endl;
Yandex
Объявления
28.02.2014, 16:11     Записать элементы из двух массивов в третий и поменять в нем местами минимальный и максимальный элемент
Ответ Создать тему
Опции темы

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