Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Mistikkx
1 / 1 / 0
Регистрация: 04.10.2013
Сообщений: 77
#1

Массив содержит 2n чисел. Из суммы первых n его элементов вычесть сумму последних n элементов - C++

29.11.2013, 16:12. Просмотров 879. Ответов 17
Метки нет (Все метки)

Алгоритм примерно такой:
Создать и указать массив. Допустим человек вводит число 10.
Значения указываются рандомно. Мне нужно из первых сложенных между собой значений отнять остальные 5 значений тоже сложенных между собой в самом массиве.И ответ вывести на экран.
Задать массив и указать, чтобы все значения рандомно были, Я разберусь.

Проблемы в том, как мне сделать так, чтобы от какой-то последовательности сначала сложить первую половину, потом сложить вторую половину, и чтобы от первой половины отнять 2-ю.
И все это запилить на языке СИ.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2013, 16:12
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Массив содержит 2n чисел. Из суммы первых n его элементов вычесть сумму последних n элементов (C++):

Вычесть из суммы первых k элементов массива у сумму последних k его элементов - C++
Элементы вещественного одномерного динамического массива х размером n > 20 сгенерированы датчиком псевдослучайных чисел в диапазоне ....

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

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

В массиве A из 20 элементов определить наибольшие из первых десяти элементов и последних десяти элементов и поменять их местами. - C++
В массиве A из 20 элементов определить наибольшие из первых десяти элементов и последних десяти элементов и поменять их местами. Элементы...

Написать программу ввода в массив 6x5 элементов чисел и вычисления суммы элементов полученного массива - C++
Пожалуйста помогите решить!

Даны три целых числа. Вычесть из суммы всех чисел сумму четных чисел - C++
Даны три целых числа. Вычесть из суммы всех чисел сумму четных чисел. Помогите решить задачу, с объяснением(изучаю данный язык неделю,...

17
ПерС
428 / 354 / 119
Регистрация: 05.11.2013
Сообщений: 1,006
Записей в блоге: 6
Завершенные тесты: 1
29.11.2013, 16:22 #2
C++
1
2
3
4
5
float s1=0,s2=0;
for (int i=0; i<n/2; i++) {
 s1+=a[i]; s2+=a[i+n/2];
}
float otvet=s1-s2;
1
mibin
49 / 49 / 4
Регистрация: 21.10.2009
Сообщений: 272
29.11.2013, 16:24 #3
Ну если у тебя последовательность четная, то просто заведи два цикла, один от 1 до первой половины
второй от половины размера массива до конца и записывай результат сложения в две переменные.
0
Mistikkx
1 / 1 / 0
Регистрация: 04.10.2013
Сообщений: 77
29.11.2013, 16:30  [ТС] #4
Цитата Сообщение от mibin Посмотреть сообщение
Ну если у тебя последовательность четная, то просто заведи два цикла, один от 1 до первой половины
второй от половины размера массива до конца и записывай результат сложения в две переменные.
Как мне этот цикл изобразить? просто Я начинающий.
0
mibin
49 / 49 / 4
Регистрация: 21.10.2009
Сообщений: 272
29.11.2013, 16:44 #5
Цитата Сообщение от Mistikkx Посмотреть сообщение
Как мне этот цикл изобразить? просто Я начинающий.
А тебе его уже изобразили выше, единственное, если обучаетесь я бы его на два разбил:
C++
1
2
3
4
5
6
7
8
9
10
float s1=0, s2=0;
for (int i=0; i<n/2; i++) {
    s1 += a[i];
}
 
for (int i=n/2; i<n; i++) {
    s2 += a[i];
}
 
float otvet = s1 - s2;
а так все тоже самое, что написал Вам ПерС

Добавлено через 6 минут
С созданием массива ты обещал разобраться, но если че спрашивай
0
Mistikkx
1 / 1 / 0
Регистрация: 04.10.2013
Сообщений: 77
29.11.2013, 18:23  [ТС] #6
Цитата Сообщение от mibin Посмотреть сообщение
А тебе его уже изобразили выше, единственное, если обучаетесь я бы его на два разбил:
C++
1
2
3
4
5
6
7
8
9
10
float s1=0, s2=0;
for (int i=0; i<n/2; i++) {
    s1 += a[i];
}
 
for (int i=n/2; i<n; i++) {
    s2 += a[i];
}
 
float otvet = s1 - s2;
а так все тоже самое, что написал Вам ПерС

Добавлено через 6 минут
С созданием массива ты обещал разобраться, но если че спрашивай
C
1
2
3
int a[100],i;
    for(i=0;i<100;i++)
    {a[i]=rand()%100 -50;}
Извините, если в чем-то ошибся, то рандомно это так выглядит?
0
mibin
49 / 49 / 4
Регистрация: 21.10.2009
Сообщений: 272
29.11.2013, 20:01 #7
Вроде похоже на правду, а что, что-то не получилось?
0
Mistikkx
1 / 1 / 0
Регистрация: 04.10.2013
Сообщений: 77
29.11.2013, 20:37  [ТС] #8
Не-а.
Mibin, вы не поможете мне весь код написать, если все практически есть?
0
mibin
49 / 49 / 4
Регистрация: 21.10.2009
Сообщений: 272
29.11.2013, 20:59 #9
Ну вот примерно так...писал без компилятора...поэтому...отладить самому придется

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
#include <stdio.h>
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main()
{
  int n;
  
  cout << "Write massive count: ";
  cin >> n;
  //n = rand();
  while (n%2 != 0) //n = rand();
    cin >> n;
  
  cout << endl;
  
  int m[n];
  
  for (int i = 0; i < n; i++) {
      m[i] = rand();
  }
  
  int sum1 = 0;
  int sum2 = 0;
  
  for (int i = 0; i < n/2; i++) {
      sum1 = m[i];
      sum2 = m[i+n/2];
  }
  
  cout << "sum1 = " << sum1 << endl;
  cout << "sum2 = " << sum2 << endl;
  
  cout << "sum1 - sum2 = " << sum1 - sum2 << endl;
 
  return 0; 
}
0
Mistikkx
1 / 1 / 0
Регистрация: 04.10.2013
Сообщений: 77
30.11.2013, 00:10  [ТС] #10
Цитата Сообщение от mibin Посмотреть сообщение
Ну вот примерно так...писал без компилятора...поэтому...отладить самому придется

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
#include <stdio.h>
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main()
{
  int n;
  
  cout << "Write massive count: ";
  cin >> n;
  //n = rand();
  while (n%2 != 0) //n = rand();
    cin >> n;
  
  cout << endl;
  
  int m[n];
  
  for (int i = 0; i < n; i++) {
      m[i] = rand();
  }
  
  int sum1 = 0;
  int sum2 = 0;
  
  for (int i = 0; i < n/2; i++) {
      sum1 = m[i];
      sum2 = m[i+n/2];
  }
  
  cout << "sum1 = " << sum1 << endl;
  cout << "sum2 = " << sum2 << endl;
  
  cout << "sum1 - sum2 = " << sum1 - sum2 << endl;
 
  return 0; 
}
Это С++, проблема в том, что все это должно быть на Си, как было написано выше.
Я про циклы и ввод массива.
Но все равно спасибо огромное, что так написали.
0
mibin
49 / 49 / 4
Регистрация: 21.10.2009
Сообщений: 272
30.11.2013, 11:46 #11
Извини, пожалуйста, вечером запарился малек...вот новый код

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 <stdio.h>
 
 
int main()
{
  int n;
  int i;
  
   printf("Write massive count:");
   scanf("%d", &n);
 
  while (n%2 != 0) { 
    //n = rand(10);
    scanf("%d", &n);    
    printf("/n");
  }
  
  printf("/n");
  
  int m[n];
  
  for (i = 0; i < n; i++) {
      m[i] = rand();
  }
  
  int sum1 = 0;
  int sum2 = 0;
  
  for (i = 0; i < n/2; i++) {
      sum1 = m[i];
      sum2 = m[i+n/2];
  }
}
Добавлено через 3 минуты
Тебе в качестве факультативного задания осталось это все вывести только
1
Mistikkx
1 / 1 / 0
Регистрация: 04.10.2013
Сообщений: 77
30.11.2013, 21:02  [ТС] #12
Цитата Сообщение от mibin Посмотреть сообщение
Извини, пожалуйста, вечером запарился малек...вот новый код

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 <stdio.h>
 
 
int main()
{
  int n;
  int i;
  
   printf("Write massive count:");
   scanf("%d", &n);
 
  while (n%2 != 0) { 
    //n = rand(10);
    scanf("%d", &n);    
    printf("/n");
  }
  
  printf("/n");
  
  int m[n];
  
  for (i = 0; i < n; i++) {
      m[i] = rand();
  }
  
  int sum1 = 0;
  int sum2 = 0;
  
  for (i = 0; i < n/2; i++) {
      sum1 = m[i];
      sum2 = m[i+n/2];
  }
}
Добавлено через 3 минуты
Тебе в качестве факультативного задания осталось это все вывести только
Спасибо тебе огромное.
Действительно, от души.
0
mibin
49 / 49 / 4
Регистрация: 21.10.2009
Сообщений: 272
30.11.2013, 21:03 #13
Цитата Сообщение от Mistikkx Посмотреть сообщение
Спасибо тебе огромное.
Действительно, от души.
Не за что. Лишь бы в прок пошло
0
Mistikkx
1 / 1 / 0
Регистрация: 04.10.2013
Сообщений: 77
02.12.2013, 11:11  [ТС] #14
Цитата Сообщение от mibin Посмотреть сообщение
Не за что. Лишь бы в прок пошло
Я думаю, мы где-то ошибку допустили, ибо программа компилируется, но что-то идет не так.
Сейчас скрин скину.
Как ты думаешь, в чем ошибка?
0
Миниатюры
Массив содержит 2n чисел. Из суммы первых n его элементов вычесть сумму последних n элементов  
max_besheniy
25 / 25 / 1
Регистрация: 21.11.2013
Сообщений: 208
02.12.2013, 13:54 #15
Если на Си, то раздел не тот. Кстати, если в массиве 2n элементов, то конечно размерность будет четная
0
02.12.2013, 13:54
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2013, 13:54
Привет! Вот еще темы с ответами:

Заполнить массив из 10 целых чисел с клавиатуры и вывести все его элементы и сумму элементов,оканчивающиеся нулем. - C++
Вот друг ещё дал 3 задачи.Т.к У него задолжности эти Заполнить массив из 10 целых чисел с клавиатуры и вывести все его...

В массиве определить наибольшие из первых десяти элементов и последних десяти элементов и поменять их местами - C++
В массиве A из 20 элементов определить наибольшие из первых десяти элементов и последних десяти элементов и поменять их местами. ...

Вещественный массив X(n) содержит несколько отрицательных элементов, разделяющих его на отдельные подмассивы... - C++
Вещественный массив X(n) содержит несколько отрицательных элементов, разделяющих его на отдельные подмассивы. Первый и последний элементы...

8. Найти среднее арифметическое элементов каждой строки матрицы Q(l,m) и вычесть его из элементов этой строки - C++
желательно с коментариями


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

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

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