Предишната тема :: Следващата тема |
Автор |
Съобщение |
overdose Начинаещ
Регистриран на: 01 Nov 2006 Мнения: 49
|
Пуснато на: Sat Jan 05, 2008 12:08 am Заглавие: Едномерен Масив |
|
|
направете програма за обръщане на едномерен масив така че първия елемент да стане последен и така нататък(пример: масива е 1356 и да стане 6531) трябва да е на C++
помогнете ми за тази задача |
|
Върнете се в началото |
|
|
Реклама
|
Пуснато на: Заглавие: Реклама |
|
|
|
|
Върнете се в началото |
|
|
crazyboy Начинаещ
Регистриран на: 03 Jan 2008 Мнения: 12
|
Пуснато на: Sat Jan 05, 2008 12:37 am Заглавие: |
|
|
задължително ли е на на С++ немаш ли и друг език на които да ти дават да я направиш тая задача в даскало? |
|
Върнете се в началото |
|
|
Grands Редовен
Регистриран на: 31 Mar 2007 Мнения: 240
гласове: 5
|
Пуснато на: Sat Jan 05, 2008 11:14 am Заглавие: |
|
|
Не знам дали е така, но ето моето решение:
Код: | #include<iostream.h>
main()
{int n,i;
float A[100],B[100];
cout<<"n="; cin>>n;
for(i=1;i<=n;i++)
{cout<<"A[" <<i <<"]="; cin>>A[i];}
for(i=1;i<=n;i++)
B[i]=A[n-i+1];
for(i=1;I<=n;i++)
{cout<<'A[" <<i <<"]=" <<B[i] <<'\n';} |
|
|
Върнете се в началото |
|
|
xyz Напреднал
Регистриран на: 20 May 2007 Мнения: 319
гласове: 12
|
Пуснато на: Sat Jan 05, 2008 1:08 pm Заглавие: |
|
|
Grands с това:
Код: |
for(i=1;i<=n;i++)
B[i]=A[n-i+1];
|
на практика не обръщаш масива, а само копираш обърнато копие в друг масив. Може би по-коректно ще е да го върнеш обратно така:
Код: |
for(i=1;i<=n;i++)
A[i]=B[i];
|
Разбира се, ще трябва и последващото извеждане да се попромени.
Пропуснал си затваряща скоба '}', а и пред main е добре да сложиш например void. Функциите без определяне на върната стойност са по подразбиране int в езика C, но ми се струва, че в C++ декларирането на върнатия тип е задължително.
Междо другото задачата позволява ли използването на допълнителен масив (питам, защото за затруднение в подобни задачи не позволяват това)? |
|
Върнете се в началото |
|
|
overdose Начинаещ
Регистриран на: 01 Nov 2006 Мнения: 49
|
Пуснато на: Sat Jan 05, 2008 1:55 pm Заглавие: |
|
|
не са ни казали за ограничения в масивите а преподаватела даде упътване A[i] = B[n-i-1] каза още че броя на разменянията е n/2 и става нещо от сорта на x[0] -- x[n-1]
x[1] -- x[n-2] ... |
|
Върнете се в началото |
|
|
steliyan Редовен
Регистриран на: 25 Oct 2006 Мнения: 100
гласове: 2
|
Пуснато на: Sat Jan 05, 2008 5:23 pm Заглавие: |
|
|
Например..
Код: | #include <iostream>
using namespace std;
int main()
{
const int n = 10;
int a[n] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
for(int i = 0, j = n-1; i < j; i++, j--)
swap(a[i],a[j]);
return 0;
} |
|
|
Върнете се в началото |
|
|
Irrefutable Напреднал
Регистриран на: 15 Jul 2007 Мнения: 298 Местожителство: София гласове: 5
|
Пуснато на: Sat Jan 05, 2008 6:01 pm Заглавие: |
|
|
Код: | int i = n/2;
while (i>=0) swap(a[i],a[n-i--]); |
|
|
Върнете се в началото |
|
|
dogbeer Начинаещ
Регистриран на: 05 Jan 2008 Мнения: 2
|
Пуснато на: Sat Jan 05, 2008 11:18 pm Заглавие: |
|
|
ем какви ли не решения пробвах ама неможах да я направа тая задача не ми се отдава C++ и за тва питам |
|
Върнете се в началото |
|
|
|