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

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

Войти
Регистрация
Восстановить пароль
 
evgenii9865
Сообщений: n/a
#1

Создать сумму массива X[n] - C++

23.12.2011, 01:31. Просмотров 279. Ответов 7
Метки нет (Все метки)

Всем доброй ночи!
помогите пожалуйста с задачей:
Создать сумму массива X[n]. Если она четная массив обнулить, иначе добавить в конец элемент равный сумме.
задачу надо реализовать при помощи функций
если можно с комментария, хотелось бы разобратся
заранее спасибо))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2011, 01:31     Создать сумму массива X[n]
Посмотрите здесь:

Создать массив, каждый элемент которого содержит сумму делителей элементов исходного массива - C++
с клавиатуры вводится масив. создать новый массив в который каждый соответствующий элемент будет содержать сумму делителей соответствующих...

Создать файл с 10 целыми числами, надо найти сумму их и выводить сумму на экран - C++
помогите составить код

Создать два массива. Вычислить количество тех элементов каждого массива, для которых выполняется неравенство: 2<элемент массива<10 - C++
помогите,пожалуйста! есть вот такие задания...ОЧЕНЬ надо на завтра... Задача 4. Определить два одномерных массива А(19) и В(16);...

Написать программу, которая находит сумму четных и сумму нечетных элементов массива - C++
Написать программу, которая находит сумму четных и сумму нечетных элементов массива.

Найти сумму элементов главной диагонали и от каждого элемента массива отнять эту сумму - C++
Всем доброго времени суток. Прошу помочь новичку решить двумерный массив. Для Borland C++ 3.1 Дан двумерный массив размером m на n. Найти...

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
darkknight2008
62 / 62 / 6
Регистрация: 16.10.2011
Сообщений: 200
23.12.2011, 03:20     Создать сумму массива X[n] #2
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
#include <stdio.h>
#include <stdlib.h>
// Получаем сумму элементов массива mas размером size
int getSum(int *mas, int size)
{
  int sum = 0;
  for (int i = 0; i < size; i++)
    sum += mas[i];
  return sum;
}
 
// Заполняем массив нулями
void setZero(int *mas, int size)
{
  for (int i = 0; i < size; i++)
    mas[i] = 0;
}
 
void main( void )
{
  int size;
  printf("Insert array size: ");
  scanf("%i", &size);
  // Массив на size элементов + тот который мы допишем если понадобится
  int *mas = new int[size + 1]; 
  // Считаем сумму элементов
  int sum = getSum(mas, size);
  // Проверяем сумму на четность,
  // т.е. если делится на 2 без остатка
  if (sum % 2 == 0)
    setZero(mas, size);
  else // Иначе записываем сумму в конец
  {
    mas[size] = sum;
    // Увеличиваем размер на 1 т.к. добавили новый элемент
    size++;
  }
 
  // Выводим получившийся массив
  printf("Output array is: "
  for (int i = 0; i < size; i++)
    printf("%i ", mas[i]);
  printf("\n");
  // Ставим паузу в окне консоли
  system("pause");
}
Как то так. Все это можно сделать более правильным, но это будет уровнем повыше и посложнее, если это понадобится - напиши.
evgenii9865
Сообщений: n/a
23.12.2011, 03:51     Создать сумму массива X[n] #3
спасибо большое)))да я пожалуй сначала с этим разберусь и книжек почитаю))
greeezz
272 / 165 / 4
Регистрация: 10.07.2011
Сообщений: 441
23.12.2011, 04:34     Создать сумму массива X[n] #4
Цитата Сообщение от darkknight2008 Посмотреть сообщение
void main( void )
C++
1
2
3
4
int main(){
...
return 0;
}
Пара вопросов если позволите.
Какую сумму вы считаете в 28ой строке если в вашем массиве ничего кроме мусора из памяти нет?
// Увеличиваем размер на 1 т.к. добавили новый элемент
size++;
Боюсь что такими комментариями человек незнающий на самом деле подумает что вы увеличиваете размер массива, хотя на самом деле его размер как был с самого начала size+1 так он size+1 и остался.
S_A_L
8 / 8 / 0
Регистрация: 22.12.2011
Сообщений: 14
23.12.2011, 06:27     Создать сумму массива X[n] #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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include <iostream>
#include <cstdlib>
 
using namespace std;
 
void setMas ( int *, const int );
int getSum ( int *, const int );
void setZero ( int *, const int );
void printMas ( int *, const int);
int addMas ( int *, const int, const int );
 
 
int main ( void )
{
    cout << "Enter size: ";
    int size;
    cin >> size;
 
    int *mas = new int [size];
    setMas ( mas, size );
 
    int sum = getSum ( mas, size );
    if ( sum % 2 == 0 )
        setZero ( mas, size );
    else
        addMas ( mas, size );
 
    printMas ( mas, size );
 
    system ( "PAUSE" );
    return 0;
}
 
 
void setMas ( int *mas, const int size )
{
    \\возможна другая реализация этой функции
 
    for ( int i = 0; i < size; ++i )
        mas [i] = rand () % 100;
}
 
int getSum ( int *mas, const int size )
{
    int result = 0;
    for ( int i = 0; i < size; ++i )
        result += mas [i];
 
    return result;
}
 
void setZero ( int * mas, const int size )
{
    for ( int i = 0; i < size; ++i )
        mas [i] = 0;
}
 
void printMas ( int * mas, const int size )
{
    for ( int i = 0; i < size; ++i )
        cout << mas [i];
    cout << endl;
}
 
int addMas ( int *mas, const int size, const int sum )
{
    int *tempMas = new int [size];
    for ( int i = 0; i < size; ++i )
        tempMas [i] = mas [i];
 
    delete[] mas;
    mas = new int [size + 1];
    for ( int i = 0; i < size; ++i )
        mas [i] = tempMas [i];
    mas [size] = sum;
    delete[] tempMas;
    return size + 1;
}
Компьютера нет, и нет возможности проверить код.
alkagolik
Заблокирован
23.12.2011, 07:04     Создать сумму массива X[n] #6
Цитата Сообщение от S_A_L Посмотреть сообщение
Компьютера нет, и нет возможности проверить код.
пост гонец привез на сервер? флешку курьером передал
greeezz
23.12.2011, 09:11
  #7

Не по теме:

Цитата Сообщение от alkagolik Посмотреть сообщение
пост гонец привез на сервер? флешку курьером передал
А вы разве не знали что у киберфорума есть новая услуга.
"Отправь свой пост на короткий SMS номер или начитай его на наш IVR и мы обязательно купим пивка на твои деньги"

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.12.2011, 14:14     Создать сумму массива X[n]
Еще ссылки по теме:

Вычислить сумму элементов массива и записать элементы массива в фаил - C++
в одномерном массиве, состоящем из n вещественных элементов, вычислить: -сумму элементов массива, расположенных после первого...

Создать 2 массива и функцию, соединяющую эти два массива в один - C++
Создать 2(два) любые символьные массивы и создать Функцию, которая выполняет соединение этих двух символьных массивов в один. Заранее...

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

Создать два новых массива: в первый перенести все цифры из исходного массива, во второй - все остальные символы - C++
Задан массив из k символов.Создать два новых массива: в первый перенести все цифры из исходного массива, во второй - все остальные символы....


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

Или воспользуйтесь поиском по форуму:
darkknight2008
62 / 62 / 6
Регистрация: 16.10.2011
Сообщений: 200
23.12.2011, 14:14     Создать сумму массива X[n] #8
greeezz, да ты прав) Не уследил, писал код на коленке, вот и забыл что надобно еще и сам массив вводить.
И с коментом, да. Серьезный наклад. Я просто не представляю как по другому написать, можно назвать ее как "переменная, содержащая кол-во используемых элементов", значит при size++ - мы увеличиваем кол-во используемых элементов массива.

Добавлено через 22 минуты
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
#include <stdio.h>
#include <stdlib.h>
 
// Вводим size элементов массива mas 
int inputMas(int *mas, int size)
{
  printf("Insert array: \n");
  for (int i = 0; i < size; i++)
  {
    printf("mas[%i] = ", i);
    scanf("%i", &mas[i]);
  }
}
// Получаем сумму элементов массива mas размером size
int getSum(int *mas, int size)
{
  int sum = 0;
  for (int i = 0; i < size; i++)
    sum += mas[i];
  return sum;
}
 
// Заполняем массив нулями
void setZero(int *mas, int size)
{
  for (int i = 0; i < size; i++)
    mas[i] = 0;
}
 
void main( void )
{
  int size;
  printf("Insert array size: ");
  scanf("%i", &size);
  // Массив на size элементов + тот который мы допишем если понадобится
  int *mas = new int[size + 1];
  inputMas(mas , size); // Вводим size элементов 
  // Считаем сумму элементов
  int sum = getSum(mas, size);
  // Проверяем сумму на четность,
  // т.е. если делится на 2 без остатка
  if (sum % 2 == 0)
    setZero(mas, size);
  else // Иначе записываем сумму в конец
  {
    mas[size] = sum;
    // Увеличиваем на 1, т.к. начали использовать еще один элемент,
    // который записали выше
    size++;
  }
 
  // Выводим получившийся массив
  printf("Output array is: ");
  for (int i = 0; i < size; i++)
    printf("%i ", mas[i]);
  printf("\n");
  // Ставим паузу в окне консоли
  system("pause");
}
Yandex
Объявления
23.12.2011, 14:14     Создать сумму массива X[n]
Ответ Создать тему
Опции темы

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