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

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

Войти
Регистрация
Восстановить пароль
 
Кристинич
0 / 0 / 0
Регистрация: 01.06.2014
Сообщений: 21
#1

Арифметические выражения в массиве - C++

24.06.2014, 13:06. Просмотров 260. Ответов 3
Метки нет (Все метки)

Ну пожалуйста подскажите, нужен код на с++, а знаю только как на паскале, может это вам что-о подскажет

Задан массив Х (2n), каждый элемент которого вычисляется а формула. Y (n), каждый элемент которого вычисляется по формуле Y (i) = X (i) + X (i + n), где и изменяется от 1 до n.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
program asdf;
uses crt;
const nmax=10;
var a,b:array[1..2*nmax] of integer;
    i,j,n:integer;
begin
 repeat
  write('n=');
   readln(n);
 until n in [1..2*nmax];
 writeln('Первый массив :');
 for i:=1 to 2*n do read(a[i]);
  for i:=1 to 2*n do
   begin
    write(a[i]);
   end;
  writeln('Другой массив :');
  for i:=1 to n do
   begin
    b[i]:=a[i]+a[i+n];
    write(b[i]);
   end;
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.06.2014, 13:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Арифметические выражения в массиве (C++):

Дан файл, содержащий текст и арифметические выражения. Выписать и вычислить все выражения - C++
Дан файл, содержащий текст и арифметические выражения вида a®b, где ® — один из знаков +, -, *, / . Выписать все арифметические...

Арифметические выражения на с++ - C++
Помогите записать и решить выражение. Одни ошибки и голова пухнет.%-) Вам вроде бы помощь нужна? Так постарайтесь облегчить задачу...

Функции вычисляющие арифметические выражения - C++
Здравствуйте! Нужна помощь. Программа при любых значениях х выводит одно число. Версия программы: Microsoft Visual C++ 2008 Express Edition...

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

Посоветуйте литературу арифметические выражения - C++
Посоветуйте литературу Арифметические выражения в c + + разветвления циклы и другое в которой должны быть развязывание математических задач...

Дан файл, содержащий текст и арифметические выражения - C++
Доброе время суток, помогите с задачкой одной пожалуйста :) Дан файл, содержащий текст и арифметические выражения вида a Q b, где Q —...

3
Franky
6 / 6 / 0
Регистрация: 20.02.2013
Сообщений: 59
24.06.2014, 13:43 #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
#include <iostream>
 
using namespace std;
int main()
{
    const int nmax=10;
    int a[2*nmax], b[2*nmax];
    for(int i =0; i<nmax*2; ++i)
    {
        cout<<"Введите a["<<i<<"] : ";
        cin>>a[i];
    }
 
    for(int i =0; i<nmax*2-1; ++i)
    {
        b[i]=a[i]+a[i+1];
    }
    b[nmax*2-1]=a[nmax*2-1]*2;
 
    for(int i =0; i<nmax*2; ++i)
    {
        cout<<"a["<<i<<"] = "<<a[i]<<"\tb["<<i<<"] = "<<b[i]<<endl;
    }
    getchar();
}
Вообще формула
Y (i) = X (i) + X (i + n)
не очень безопасная из-за этого i + n будет выход за границы первого массива, а там можно словить все что угодно. Для этого я и написал строчку для последнего елемента
C++
1
b[nmax*2-1]=a[nmax*2-1]*2;
0
SoulMicro
1 / 1 / 0
Регистрация: 20.06.2014
Сообщений: 17
Завершенные тесты: 1
24.06.2014, 15:58 #3
Franky, мне кажется Вы предоставили неверный код.

Тут:
C++
1
2
3
4
for(int i =0; i<nmax*2-1; ++i)
    {
        b[i]=a[i]+a[i+1];
    }
Предел цикла должен быть все-таки n и формула в задании следующая: Y (i) = X (i) + X (i + n)
Да и массив b должен иметь размерность n.

Если вышеописанные изменения применить к коду, то будет верно.

Да, а еще цикл вывода необходимо поправить.
0
Franky
6 / 6 / 0
Регистрация: 20.02.2013
Сообщений: 59
25.06.2014, 10:27 #4
SoulMicro, да, вы правы. Посмотрел на паскалевский код и решил что b тоже имеет размер nmax*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
#include <iostream>
 
using namespace std;
int main()
{
    const int nmax=10;
    int a[2*nmax], b[nmax];
    for(int i =0; i<nmax*2; ++i)
    {
        cout<<"Введите a["<<i<<"] : ";
        cin>>a[i];
    }
 
    for(int i =0; i<nmax; ++i)
    {
        b[i]=a[i]+a[i+1];
    }
 
    for(int i =0; i<nmax; ++i)
    {
        cout<<"b["<<i<<"] = "<<b[i]<<endl;
    }
    getchar();
}
0
25.06.2014, 10:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.06.2014, 10:27
Привет! Вот еще темы с ответами:

Арифметические действия в массиве - C++
Арифметические действия в массиве Задачи положено переписывать!

Вывести большее из двух чисел используя только арифметические выражения - C++
#include&lt;iostream&gt; #include&lt;stdio.h&gt; #include&lt;math.h&gt; int main() { using namespace std; int a, b; cin &gt;&gt; a &gt;&gt; b; cout &lt;&lt;...

Создать калькулятор, который мог бы сразу считать подобные арифметические выражения типа: я 1-22+54+65 - C++
Помогите пожалуйста, очень срочно... Нужно создать калькулятор на с++ который мог бы сразу считать подобные выражения 1-22+54+65

Арифметические - C++
1)Дано натуральное число n. Отбросить в нем все цифры, стоящие правее самой правой единицы либо оставить число без изменений, если единицы...


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

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

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