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

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

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

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

24.06.2014, 13:06. Просмотров 238. Ответов 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.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.06.2014, 13:06     Арифметические выражения в массиве
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Franky
5 / 5 / 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;
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.

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

Да, а еще цикл вывода необходимо поправить.
Franky
5 / 5 / 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();
}
Yandex
Объявления
25.06.2014, 10:27     Арифметические выражения в массиве
Ответ Создать тему
Опции темы

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