Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 21.07.2012
Сообщений: 3
1

Значения элементов массива проверить на кратность 3 и результатами заполнить массив II

21.07.2012, 17:36. Просмотров 1184. Ответов 5
Метки нет (Все метки)

1. Создать 3 одномерных массива одинаковой размерности.
а) I массив заполнить случайными числами в пределах от -8 до 8.
б) Значения элементов этого массива нужно проверить на кратность 3 и результатами заполнить массив II (если значение кратно 3 , то результат true, если некратно - false).
в) III массив заполнить элементами в зависимости от значений массива I (отрицательные значения массива I заменяются -1 в массиве III, положительные значения массива I заменяются 1 в массиве III и нулевые 0).

2. Добавить к предыдущему заданию:
а) Создать двумерный массив с равным количеством строк и столбцов.
б) Заполнить его значениями I и III одномерных массивов, а не достающие элементы заполняются нулями.
в) Найти среднее арифметическое обоих диагоналей двумерного массива.
г) Поменять местами значения четных и нечетных столбцов двумерного массива.

3. Добавить к предыдущему заданию:
а) Создать функции Vivid_1() и Vivod_2() вывода на экран двумерного и одномерного массивов.
б) Создать функцию Chet() вывода на экран сообщения «Кратный массив» - если во II массиве больше true, и «Некратный массив» - если во II массиве больше false.
в) Создать функцию сортировки Sort_u() по убыванию значений элементов двумерного массива.
г) Создать функцию Graf_k() вывода на экран квадратов из каждого положительного значения одномерного массива I с помощью любых символов
____________________________________________________________ _____________________________
вот решил сколько смог дальше пытаюсь не выходи


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
#include <iostream>
#include <time.h>
using namespace std;
void main()
{
    srand(time(0));
const int size=5;
int mass1[size];
bool mass2[size];
int mass3[size];
 
for(int i=0;i<size;i++)
    {
 mass1[i]=rand()%16-8;
    if(mass1[i]%3==0)
    {mass2[i]=true;}
    else {mass2[i]=false;}
 
    }
for(int i=0;i<size;i++)
{
        if(mass1[i]<0)
            {mass3[i]=1;
        
        }
        if(mass1[i]==0)
        {
            mass3[i]=0;
            
        }
        else {
            mass3[i]=-1;
            
        }
        
}
 
int mass2mer [size] [size];
for(int i=0;i<size;i++)
{
    mass2mer[0][i]=mass1[i];
    mass2mer[1][i]=mass3[i];
        for(int j=0;j<size;j++)
        {
            mass2mer[2][j]=0;
        }
    
}
for(int i=0;i<mass2mer;i++)
{for (int j=0;j>mass2mer;j--)
{size+size\2;}}
 
}
 Комментарий модератора 
1.
5.15 Запрещено создавать темы с множеством вопросов во всех разделах, кроме разделов платных услуг. Один вопрос - одна тема.
Правила форума
2. Используйте теги форматирования кода.
3. Определитесь с языком программирования. Если нужно на С++ - напишите, перенесу.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.07.2012, 17:36
Ответы с готовыми решениями:

Заполнить массив случайными числами и увеличить в 3 раза значения всех элементов во второй половине массива
напишите программу которая заполняет массив из 5 случайными числами на отрезке и увеличивает в 3...

Заполнить двумерный массив результатами таблицы умножения
Заполнить двумерный массив результатами таблицы умножения.

Заполнить двумерный массив размером 9х9 результатами таблицы умножения
Заполнить двумерный массив размером 9х9 результатами таблицы умножения (в первой строке должны быть...

Как проверить элементы массива на кратность
Задание таково &quot;Ввести массив A из 25 элементов. Cформировать массив B из элементов массива А,...

5
161 / 161 / 68
Регистрация: 23.02.2011
Сообщений: 392
21.07.2012, 20:04 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Немножко подправил ваш вариант и добавил пару заданий, вам осталось - 2 г, 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
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
const int size = 5;
 
void Vivod_1 (int *mass, int size)
{
    for (int i = 0; i < size; i ++) printf("%4d", mass[i]);
}
 
void Vivod_2 (int mas2[][size], int size)
{
    for (int i = 0; i < size; i ++)
    {
        for (int j = 0; j < size; j ++)
            printf("%4d",mas2[i][j]);
        printf("\n");
    }
}
 
void Chet(bool * mas, int size)
{
    int trcnt = 0, flcnt = 0;
    for (int i = 0; i < size; i ++)
        if (mas[i]) trcnt ++;
        else flcnt ++;
    if (trcnt > flcnt) printf("Kratnii massiv\n");
    else if(flcnt > trcnt) printf("Nekratnii massiv\n");
    else printf("Neitralnii massiv\n");
}
 
int main()
{
    srand(time(0));
 
    int mass1[size];
    bool mass2[size];
    int mass3[size];
 
    for (int i = 0; i < size; i ++)
    {
        mass1[i] = rand()%17-8;
        if(mass1[i]%3 == 0) mass2[i] = true;
        else mass2[i] = false;
 
        if(mass1[i] < 0) mass3[i] = 1;
        else if(mass1[i] == 0) mass3[i] = 0;
        else mass3[i] = -1;
    }
 
    printf("mass1: ");
    Vivod_1(mass1,size);
    printf("\n");
 
    printf("\nmass2: ");
    for (int i = 0; i < size; i ++)
        mass2[i] ? printf("true ") : printf("false ");
    printf("\n");
    Chet(mass2, size);
 
    printf("\nmass3: ");
    Vivod_1(mass3,size);
    printf("\n\n");
 
    int mass2mer [size] [size];
    for (int i = 0; i < size; i ++)
    {
        mass2mer[0][i] = mass1[i];
        mass2mer[1][i] = mass3[i];
        for(int k = 2; k < size; k ++)
            for(int j = 0; j < size; j ++)
                mass2mer[k][j] = 0;
    }
 
    printf("mass2mer:\n");
    Vivod_2(mass2mer,size);
 
    double avMajD = 0.0, avMinD = 0.0;
    for (int i = 0; i < size; i ++)
        for (int j = 0; j < size; j ++)
        {
            if (i == j)
                avMajD += (double)mass2mer[i][j];
            if (i == size - j - 1)
                avMinD += (double)mass2mer[i][j];
        }
    avMajD /= size;
    avMinD /= size;
    printf ("average of major diagonal = %.2lf\n", avMajD);
    printf ("average of minor diagonal = %.2lf\n", avMinD);
 
 }
0
0 / 0 / 0
Регистрация: 21.07.2012
Сообщений: 3
21.07.2012, 20:11  [ТС] 3
спасибо за помощь)))
а что обозначает ("%4d")
0
161 / 161 / 68
Регистрация: 23.02.2011
Сообщений: 392
21.07.2012, 21:19 4
это просто для форматирования вывода, 4 - отступ, d - для типа int
1
0 / 0 / 0
Регистрация: 21.07.2012
Сообщений: 3
24.07.2012, 19:38  [ТС] 5
а вы можете мне расталковать код!

Добавлено через 2 часа 18 минут
edward_jonson, подскажите что обозначает эта строчка
C++
1
 mass2[i] ? printf("true ") : printf("false ");
0
31 / 31 / 3
Регистрация: 19.05.2012
Сообщений: 67
24.07.2012, 20:01 6
EDWARD96, тернарный оператор, по типу if-else. Все что до вопросительного знака - логическое выражение. После вопросительного знака - если условие истинно, после двоеточия - ложно.
"если ? то : иначе"
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.07.2012, 20:01

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как проверить кратность произведения массива трём?
произведение элементов массива. Как проверить будет ли оно кратно 3? Куда записать условие? Я писал...

Сформировать одномерный массив Х, значения элементов которого являются минимальные значения элементов строк массива Н(5х5)
Сформировать одномерный массив Х ,значения элементов которого являются минимальные значения...

Массив: Заполнить массив и найти сумму элементов массива лежащих на главной диагонали...
Заполнить двумерный массив N*N случайными числами из интервала и найти сумму элементов массива...

Заполнить целочисленный массив А, не вводя значения его элементов с клавиатуры
Заполнить целочисленный массив А, не вводя значения его элементов с клавиатуры, следующим образом:...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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