Не подскажете, как реализовать задачу?

не подскажите как реализовать задачу. Надо написать программу где пользователь будет вводить последовательность чисел,а программа будет преобразовывать строку путем добавления ко все элементам первого и выводить результат на экран . Возможно еще подскажете будет ли меняться код если этот процесс реализовать в локальной сети (имеется ввиду ввод символов на одном компьютере ,а вывод на другом.)

не подскажите как реализовать задачу. Надо написать программу где
пользователь будет вводить последовательность чисел,а программа будет
преобразовывать строку путем добавления ко все элементам первого и
выводить результат на экран .

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

#include <iostream>
using std::cout;
using std::cin;

const int length = 5;                                   // длина строки

int main()
{
    double arr[::length];

    cout << "Enter a first value: ";
    cin >> arr[0];                                      // ввод первого значения
    cout << arr[0];                                     // отображение первого значения

    for (int values = 1; values < ::length; values++){

        cout << "\nContinue to input numbers: ";
        cin >> arr[values];                             // ввод последующих значений

        for (int val = 0; val <= values; val++){
            if (!val)
                cout << arr[val] << ' ';                // отображение первого значения
            if (val)
                cout << arr[val] + arr[0] << ' ';       // отображение значений с добавлением первого
        }
    }

    return 0;
}

Возможно еще подскажете будет ли меняться код если этот процесс
реализовать в локальной сети (имеется ввиду ввод символов на одном
компьютере ,а вывод на другом.)

Код изменится и в зависимости от того какие будут требования — изменится существенно.
Начнем с того, что это будет не одна программа, а две (одна будет принимать ввод и записывать числа в файл, который будет находится в определенной директории, а вторая — их читать из файла и отображать).

beginner, если вы используете

using std::cout;
using std::cin;

То это

::length

становится явно бессмысленным.

porshe, операция разрешения контекста примененная к переменной length не имеет ничего общего с std::cin; и std::cout; она указывает на то, что переменная length является глобальной.

#include <iostream>

const int a = 1;    // глобальная переменная

int main()
{
    int a = 2;    // инициализация локальной переменной скрывает видимость глобальной переменной

    std::cout << "a = " << a << '\n';    // локальная переменная
    std::cout << "::a = " << ::a << '\n';    // глобальная переменная

    return 0;
}

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

beginner, то есть вы запихиваете std::cout и std::cin в глобальное пространство (что есть прямое отражение пренебрежительного отношения к проблеме конфликта имён), но в то же время вы всякий раз указываете глобальное пространство для глобальных объектов, что бы

в большом проекте избежать конфликта имен.

?
Как то это не сходится. По моему мнению, это то же самое, что и использование «CamelCase» совместно с «snake_case» в одном проекте.

beginner, то есть вы запихиваете std::cout и std::cin в глобальное
пространство (что есть прямое отражение пренебрежительного отношения к
проблеме конфликта имён)

Использование в программе объявления using

using std::cout;

или квалификатора std

std::cout;

есть инструментом более удачного подхода, в отличие от использования директивы using,

using namespace std;

и не является инструментом «запихивания».

но в то же время вы всякий раз указываете глобальное пространство для
глобальных объектов

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

Я перепишу мой пример так

#include <iostream>
using std::cout;

const int i = 5;

int main()
{
    double arr[i] = {1, 2, 3, 4, 5};

    for (int i = 0; i < i; i++){
        cout << arr[i] << ' ';
    }

    return 0;
}

и так

#include <iostream>
using std::cout;

const int i = 5;

int main()
{
    double arr[i] = {1, 2, 3, 4, 5};

    for (int i = 0; i < ::i; i++){
        cout << arr[i] << ' ';
    }

    return 0;
}

и задам вам porshe вопрос какая из программ работает правильно, если их задача вывести на экран массив данных?

и не является инструментом «запихивания»

Как раз таки является, поскольку таким образом вы «запихиваете» объект cout в глобальное пространство, наплевав на «родное и тёплое» std. И это не многим лучше using namespace std;

инструмент, который обращает внимание на то, что используется глобальная переменная

Дело то благое, но с «грубым» using оно ни как не вяжется.

P.S.: Ну и да, пояснять синтаксис С++ мне не надо :)

beginne, Этот код работает с отдельным вводом каждого элемента ,а как сделать что бы я допустим вводил одномерный массив 1 2 3 4 ,а программа выдавала 3 4 5 .И если не сложно не подскажете как задать разделители .

а как сделать что бы я допустим вводил одномерный массив 1 2 3 4 ,а
программа выдавала 3 4 5 .

Это вопрос посложнее. Вот один из вариантов как с ним можно справится ;)

header.h

#ifndef ARRAY_H_
#define ARRAY_H_

#include <iostream>
using std::ostream;

class Input
{
    public:

        Input();                        // конструктор по умолчанию
        Input(int arrSize);             // параметр конструктора - размер массива
        ~Input();                       // деструктор
        bool checkCounter() const;      // проверка на выход за пределы массива
        void setArray(int val);         // установка значений массива
        void displayArray() const;      // отображение массива
        friend ostream & operator<<(ostream & out, Input & input);   // отображение результата

    private:

        void changeCounter();           // увеличение значения счетчика

        int arraySize;                  // размер массива
        int counter;                    // счетчик
        int * arrPtr;                   // указатель на массив данных

};  // end class Input

#endif  // ARRAY_H_

realization.cpp

#include "header.h"

#include <iostream>     // for cout
#include <iomanip>      // for setw

// конструктор по умолчанию
Input::Input()
{
    arraySize = 0;
    counter = 0;
    arrPtr = NULL;
}   // end Input

// параметр конструктора - размер массива
Input::Input(int arrSize)
{
    arraySize = arrSize;
    counter = 0;
    arrPtr = new int [arrSize];     // выделить память под массив
}   // end Input

// деструктор
Input::~Input()
{
    delete [] arrPtr;   // освободить память
}   // end ~Input

// проверка на выход за пределы массива
bool Input::checkCounter() const
{
    return counter < arraySize;
}   // end checkCounter

// установка значений массива
void Input::setArray(int val)
{
    arrPtr[counter] = val;
    changeCounter();
}   // end setArray

// увеличение значения счетчика
void Input::changeCounter()
{
    counter++;
}   // end changeCounter

// отображение введенного массива
void Input::displayArray() const
{
    for (int i = 0; i < arraySize; i++){
        std::cout.width(5);             // установка ширины поля
        std::cout << arrPtr[i];
    }
}   // end displayArray

// отображение результата
ostream & operator<<(ostream & out, Input & input)
{
    for (int i = 1; i < input.arraySize; i++)
        std::cout << std::setw(5) << input.arrPtr[i] + input.arrPtr[0];     // еще один способ установки ширины поля

    return out;
}   // end operator<<

mainF.cpp

#include "header.h"

#include <iostream>
using std::cout;
using std::cin;

const int length = 4;                                   // длина строки

int main()
{
    Input input(::length);      // инициализация объекта класса Input

    int temp;                   // переменная для ввода

    cout << "Make your input in the array:\n";

    while (input.checkCounter()){   // проверка счетчика на выход за пределы массива
        cin >> temp;                // ввод переменной
        input.setArray(temp);       // установка значения массива
    }

    cout << "Your array: ";

    input.displayArray();           // отображение массива

    cout << "\nChanged array: ";

// отображение значений элементов массива к которым добавлено значение первого элемента

    cout << input;

    return 0;
}

!!! Компилировать все три файла в одном проекте.

И если не сложно не подскажете как задать разделители .

Разделители можно задать разными способами.
Можно вставить в поток символ пробела ' '

cout << 1 << ' ' << 2;

Можно вставить в поток строковой литерал с пробелом " "

cout << 1 << " " << 2;

Можно устанавливать ширины полей с помощью метода width()

cout << 1;
cout.width(3);
cout << 2;

или с помощью манипулятора setw()

cout << 1 << setw(4) << 2;

при этом включаем в программу заголовочный файл <iomanip>

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.