Премини към съдържанието

Препоръчан отговор


Здравейте написал съм някаква задача , но не е както трябва.Не знам как да я направя с вектор

Напишете програма, която може да преобръща вектор. Програмата трябва да чете до края на входа елементите на вектора.
Реализирайте програмата с функция, която приема вектора по референция и не връща стойност. След изпълнението на функцията трябва подадения вектор е преобърнат на опаки и да се изпечата на стандартния изход. Не може да ползвате готови функции за обръщане на вектор, т.е. трябва вие да имплементирате тази логика сами.

Пр.
Вход:
1 2 3
Изход:
3 2 1

 

#include<iostream>
#include<stdio.h>
using namespace std;
 
 
int main()
{
    char str[80];
    int temp,a,b,c;
 
 
    cin >> str;
        for(a=0;str[a]!='\0';a++);
 
        for(b=0,c=a-1;b<a/2;b++,c--)
        {
            temp = str;
            str = str[c];
            str[c] = temp;
        }
 
    cout <<" "<<str<<endl;
 
 
    return 0;
}
 

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Това не ти ли върши работа, само обръщането трябва да го отделиш като функция

http://www.cplusplus.com/reference/vector/vector/operator[]/

Редактирано от ined (преглед на промените)
  • Харесва ми 2

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Това не ти ли върши работа, само обръщането трябва да го отделиш като функция

http://www.cplusplus.com/reference/vector/vector/operator[]/

Ами погледнах я и нея ,но не съм сигурен.Дали аз трябва да добавям някакви числа или те са определени по задачата.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
void reverse(vector<int> & v)
{
	int size = v.size();
	for (size_t i = 0; i < size / 2; i++)
	{
		int temp = v[i];
		v[i] = v[size - 1 - i];
		v[size - 1 - i] = temp;
	}
}

Мисля, че ти трябва да въведеш числата. Може да използваш следния метод:

vector<int> v;
int number;
while (cin>>number)
{
    v.push_back(number);
}
// примерен вход: 1 2 3 4 5 end
// векторът ще изглежда така: {1, 2, 3, 4, 5}

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Задача 1. Напишете програма, която изчислява щастливо произведение на два вектора - A и B. Щастливо произведение е разликата от произведенията на всеки втори елемент: A[1]*B[1] - A[3]*B[3] - A[5]*B[5] - .... Програмата трябва да чете от стандартния вход едно число N - броя на елементите на векторите. Следват N на брой числа - тези на първия вектор, след което още N числа - тези на втория. Изведете на стандартния изход щастливото произведение на двата вектора. Реализирайте програмата с функция, която приема 2 вектора и връща double.  КАК става това ?


Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Регистрирайте се или влезете в профила си за да коментирате

Трябва да имате регистрация за да може да коментирате това

Регистрирайте се

Създайте нова регистрация в нашия форум. Лесно е!

Нова регистрация

Вход

Имате регистрация? Влезте от тук.

Вход

×

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите условия за ползване.