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

Сформировать массив С из исходных двух по правилу: - C++

Восстановить пароль Регистрация
 
Lizkaliz
1 / 1 / 0
Регистрация: 16.10.2013
Сообщений: 41
06.02.2014, 16:36     Сформировать массив С из исходных двух по правилу: #1
ПОМОГИТЕ!!!
Заданные два массива: A (n) и B (n). Сформировать массив C (n) следующим образом:

ci = max {ai, bi}, если i - четное;

ci = min {ai, bi}, если и - нечетное
Изображения
 
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2014, 16:36     Сформировать массив С из исходных двух по правилу:
Посмотрите здесь:

C++ Сформировать новый массив из двух исходных по данному правилу
Массив: Составить массив из двух исходных по заданному принципу заполнения C++
Получите третий массив по правилу: каждый элемент нового массива равен сумме квадратов соответствующих элементов исходных C++
C++ Сформировать массив размером 6 на 3 по правилу
C++ Сформировать массив по правилу
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Байт
 Аватар для Байт
13993 / 8824 / 1231
Регистрация: 24.12.2010
Сообщений: 15,990
06.02.2014, 17:11     Сформировать массив С из исходных двух по правилу: #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
for(i=0; i<n; i++) {
 if (i%2) {
  if (a[i] > b[i]) c[i] = b[i];
  else c[i] = a[i];
 }
 else {
  if (a[i] > b[i]) c[i] = a[i];
  else c[i] = b[i];
 }
}
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
06.02.2014, 18:04     Сформировать массив С из исходных двух по правилу: #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
#include <algorithm>
#include <iostream>
#include <array>
 
int main()
{
    const size_t arraySize = 10;
    
    std::array <int, arraySize> firstArray;
    std::cout << "Input the " << arraySize << " elements of array A: " << std::endl;
    for (auto &currentArrayElement : firstArray) {
        std::cin >> currentArrayElement;
    }
 
    std::array <int, arraySize> secondArray;
    std::cout << "Input the " << arraySize << " elements of array B: " << std::endl;
    for (auto &currentArrayElement : secondArray) {
        std::cin >> currentArrayElement;
    }
 
    size_t index = 0;
    std::array <int, arraySize> resultArray;
    std::cout << "Result array: " << std::endl;
    for (auto &currentArrayElement : resultArray) {
        auto minMaxElement = std::minmax(firstArray.at(index), secondArray.at(index));
        currentArrayElement = (index++ % 2) ? minMaxElement.first : minMaxElement.second;
        std::cout << currentArrayElement << ' ';
    }
    std::cout << std::endl;
 
    std::system("pause");
    return 0;
}
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
06.02.2014, 21:52     Сформировать массив С из исходных двух по правилу: #4
...

Добавлено через 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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <iostream>
#include <iomanip>
#include <ctime>
using namespace std;
 
void print_mas(int mas[], int size) 
{
    for(int i = 0; i < size; i++)
    {
        cout << setw(4) << mas[i];
    }
    cout << "\n\n";
}
 
int main()
{
    srand(time(0));
    int n;
    cout << "Enter n: "; cin >> n;
    cout << endl;
    int* A = new int[n];
    int* B = new int[n];
    int* C = new int[n];
    
    for(int i = 0; i < n; i++)
    {
        A[i] = rand() % 100 + 1;
        B[i] = rand() % 100 + 1;
        if(!(i % 2))
        {
            if(A[i] > B[i])
                C[i] = A[i];
            else
                C[i] = B[i];
        }
        if(i % 2)
        {
            if(A[i] < B[i])
                C[i] = A[i];
            else
                C[i] = B[i];
        }
    }
    
    cout << "A(n): ";
    print_mas(A, n);
    
    cout << "B(n): ";
    print_mas(B, n);
    
    cout << "C(n): ";
    print_mas(C, n);
    
    delete [] A, B, C;
    
    system("pause");
    return 0;
}
Lizkaliz
1 / 1 / 0
Регистрация: 16.10.2013
Сообщений: 41
06.02.2014, 21:59  [ТС]     Сформировать массив С из исходных двух по правилу: #5
А в какой программе у вас запустился этот код(Borland, DevC++.....)?????
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
06.02.2014, 22:09     Сформировать массив С из исходных двух по правилу: #6
Lizkaliz, Dev-C++
Lizkaliz
1 / 1 / 0
Регистрация: 16.10.2013
Сообщений: 41
06.02.2014, 22:15  [ТС]     Сформировать массив С из исходных двух по правилу: #7
а у меня такую вот выдает ошибку.Как ее исправить?
Сформировать массив С из исходных двух по правилу:

 Комментарий модератора 
Прикрепляйте файлы и изображения к сообщениям.
http://www.cyberforum.ru/about-forum...tml#post594251
KOPOJI
Модератор
 Аватар для KOPOJI
16243 / 6454 / 390
Регистрация: 12.06.2012
Сообщений: 19,362
06.02.2014, 22:32     Сформировать массив С из исходных двух по правилу: #8
Lizkaliz, подключите файл cstdlib

Добавлено через 3 минуты
Цитата Сообщение от GuGo1991 Посмотреть сообщение
C++
1
delete [] A, B, C;
а разве так позволяется, сразу несколько ?
Lizkaliz
1 / 1 / 0
Регистрация: 16.10.2013
Сообщений: 41
06.02.2014, 22:33  [ТС]     Сформировать массив С из исходных двух по правилу: #9
а для чего дается тот рисунок в условии?
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
06.02.2014, 22:54     Сформировать массив С из исходных двух по правилу: #10
KOPOJI, я обычно для каждого массива вызывал очистку памяти.
Но недавно заметил в одном коде такое исполнение, попробовал, компилятор не ругался.
Цитата Сообщение от Lizkaliz Посмотреть сообщение
а для чего дается тот рисунок в условии?
Не знаю, вроде как матрица, а в задании одномерный массив...
Ev[G]eN
07.02.2014, 01:00
  #11
 Комментарий модератора 
Lizkaliz, обе Ваши темы были объединены. В будущем, не создавайте несколько одинаковых тем. Это нарушение пункта №5.5 настоящих Правил: "Запрещено размещать тему в нескольких разделах одновременно (кросспостинг), а также дублировать тему в одном разделе."
Lizkaliz
1 / 1 / 0
Регистрация: 16.10.2013
Сообщений: 41
08.02.2014, 14:23  [ТС]     Сформировать массив С из исходных двух по правилу: #12
А по этому примеру можете помочь написать код,очень надо!!!!!!!
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 <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
const int maxsize = 11;
int i, j, S, realsize, a['i']['j'];
int t[20];
int k;
int main ()
{
 clrscr ();
 printf ("Programa obchyslennja summy elementiv matrytsi\n");
 printf ("Vvedit rozmir matrytsi (neparne, <= 11): ");
 scanf ("%i", &realsize);
 if (realsize > maxsize)
 {
         textcolor (LIGHTRED);
         cprintf ("Nekorektnyj rozmir matrytsi!\r\n");
         cprintf ("Maje buty ne bilshe 11!\r\n");
         return 1;
 }
 if (realsize % 2 == 0)
 {
         textcolor (LIGHTRED);
         cprintf ("Nekorektnyj rozmir matrytsi!\r\n");
         cprintf ("Maje buty neparne chyslo!\r\n");
         return 2;
 }
 textcolor (LIGHTGRAY);
 cprintf ("Ctructura matrytsi:\r\n");
 randomize ();
 for (i = 0; i < realsize; i++)
 {
         for (j = 0; j < realsize; j++)
         {
                 a[i][j] = random (20);
                 textcolor (GREEN);
                 if (i == 0) textcolor (YELLOW);
                 if (i== realise-1) textcolor (yellow);
                 if (j==0) textcolor (YELLOW);
                 if (j == realsize) textcolor (YELLOW);
 
                 cprintf ("%3i ", a[i][j]);
         }
         printf ("\n");
 }
 S = a[0][0];
 for (i = 1; i<realsize; i++)
 {
         S += a[i][0];
         S += a[0][i];
         S += a[i][realsize-1];
 
  }
 
 textcolor (LIGHTCYAN);
 cprintf ("Suma vydilenyh elementiv: %i\r\n", S);
 cprintf ("Natysnit dovilnu klavishu dlja vyhodu");
 
 getch ();
 return 0;
 system("pause");
}
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
08.02.2014, 16:53     Сформировать массив С из исходных двух по правилу: #13
Lizkaliz

Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <iomanip>
#include <windows.h>
using namespace std;
const int maxsize = 11;
int i, j, S, realsize, a[11][11];
int t[20];
int k;
int main ()
{
     SetConsoleCP(1251);
     SetConsoleOutputCP(1251);
     cout << "Программа вычисления суммы элементов матрицы\n";
     cout << "Введите размер матрицы (нечётное, <= 11): ";
     cin >> realsize;
     if (realsize > maxsize)
     {
             SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 12);
             cout << "Неверный размер матрицы\r\n";
             cout << "Не должно быть больше 11\r\n";
             return 1;
     }
     if (realsize % 2 == 0)
     {
             SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 12);
             cout << "Неверный размер матрицы\r\n";
             cout << "Должно быть нечётное число\r\n";
             return 2;
     }
     SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7);
     cout << "Структура матрицы:\r\n";
     srand(time(0));
     for (i = 0; i < realsize; i++)
     {
             for (j = 0; j < realsize; j++)
             {
                     a[i][j] = rand() % 20 + 1;
                     SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 2);
                     if (i == 0) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 14);
                     if (i== realsize-1) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 14);
                     if (j==0) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 14);
                     if (j == realsize) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 14);
     
                     cout << setw(3) << a[i][j];
             }
             cout << "\n\n";
     }
     S = a[0][0];
     for (i = 1; i<realsize; i++)
     {
             S += a[i][0];
             S += a[0][i];
             S += a[i][realsize-1];
     
      }
     
     SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 11);
     cout << "Сумма выделенных элементов: " << S << endl;
     
     system("pause");
     return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.02.2014, 17:30     Сформировать массив С из исходных двух по правилу:
Еще ссылки по теме:

Сформировать массив S, состоящий из одинаковых элементов исходных массивов C++
C++ Сформировать массив по определенному правилу
Сформировать двумерный массив по правилу C++

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

Или воспользуйтесь поиском по форуму:
Lizkaliz
1 / 1 / 0
Регистрация: 16.10.2013
Сообщений: 41
08.02.2014, 17:30  [ТС]     Сформировать массив С из исходных двух по правилу: #14
СПАСИБО!!!!!
Yandex
Объявления
08.02.2014, 17:30     Сформировать массив С из исходных двух по правилу:
Ответ Создать тему
Опции темы

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