C++ tablica ciągu

kombi99
Użytkownik
Użytkownik
Posty: 2
Rejestracja: 31 sie 2009, o 21:50
Płeć: Mężczyzna

C++ tablica ciągu

Post autor: kombi99 »

Hej, bardzo prosiłbym o pomoc, jakieś rady itp. jak napisać program wczytujący do tablicy (typu int) ciąg n liczb, a następnie zamieniający pierwszy wyraz z ostatnim, drugi z przedostatnim itd.( a[0] na a[n-1], a[1] na a[n-2] itd.), który na koniec wyświetla tą tablicę po zamianie.
Awatar użytkownika
Zordon
Użytkownik
Użytkownik
Posty: 4977
Rejestracja: 12 lut 2008, o 21:42
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 75 razy
Pomógł: 910 razy

C++ tablica ciągu

Post autor: Zordon »

no najpierw pętla do wczytywania,
potem zamiana:

Kod: Zaznacz cały

int x;
for (int i=0;i<=n/2;i++)
{
 x=a[i];
 a[i]=a[n-i-1];
 a[n-i-1]=x;
}
i wyświetlenie w pętli
kombi99
Użytkownik
Użytkownik
Posty: 2
Rejestracja: 31 sie 2009, o 21:50
Płeć: Mężczyzna

C++ tablica ciągu

Post autor: kombi99 »

OK, dzięki za podpowiedz. Gdyby ktoś w przyszłości potrzebował czegoś podobnego, to tak powinien wyglądać działający program pisany w dev-C++ :
#include <cstdlib>
#include <iostream>
#define NMAX 10
using namespace std;

int main(int)
{
int t[NMAX] , n , i ;
//n - faktyczna liczba elementow

cout<<"Podaj liczbe elementow"<<endl;
cin>>n;
cout<<"Podaj liczby"<<endl;

for(i=0; i<n; i++)
cin>>t;

cout<<"Liczby w odwrotnej kolejnosci"<<endl;

for(i=n-1; i>=0; i--)
cout<<t<<endl;
char x;
cin>>x;
}
- gdzie tablica t zadeklarowana jest instrukcją int t[NMAX], co w praktyce przede wszystkim oznacza tyle, iż dla "n" liczb trzecia linijka od góry wygląda tak: #define NMAX n ,
a ostatnie 2 linijki programu dodałem po to, aby nie znikało okienko programu
Awatar użytkownika
Zordon
Użytkownik
Użytkownik
Posty: 4977
Rejestracja: 12 lut 2008, o 21:42
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 75 razy
Pomógł: 910 razy

C++ tablica ciągu

Post autor: Zordon »

jak dla mnie to ten program nie robi tego co jest napisane w poleceniu, bo nie zamienia elementow w tablicy
Awatar użytkownika
mcbob
Użytkownik
Użytkownik
Posty: 479
Rejestracja: 15 gru 2008, o 19:02
Płeć: Mężczyzna
Lokalizacja: Poland
Pomógł: 69 razy

C++ tablica ciągu

Post autor: mcbob »

kombi99 pisze:OK, dzięki za podpowiedz. Gdyby ktoś w przyszłości potrzebował czegoś podobnego, to tak powinien wyglądać działający program pisany w dev-C++ :
Zapewniam cię że wczytać tablicę w pętli a następnie wyświetlić w odwróconej pętli to raczej każdy potrafi Nie rozumiem tylko co to ma wspólnego z tematem w którym wyraźnie pytałeś o coś innego.
soku11
Użytkownik
Użytkownik
Posty: 6607
Rejestracja: 16 sty 2007, o 19:42
Płeć: Mężczyzna
Podziękował: 119 razy
Pomógł: 1823 razy

C++ tablica ciągu

Post autor: soku11 »

A nie lepiej i szybciej tak:

Kod: Zaznacz cały

#include <iostream>
#include <algorithm>
using namespace std;


int main()
{
  unsigned int limit=0;

  cout<<"Podaj ilosc liczb do wczytania: ";
  cin>>limit;

  int* numbers=new int[limit];
  for(unsigned int i=0;i<limit;++i)
  {
    cout<<"Podaj "<<i+1<<" liczbe: ";
    cin>>numbers[i];
  }

  reverse(numbers,numbers+limit);

  cout<<"Po odwroceniu:
";
  for(unsigned int i=0;i<limit;++i)
    cout<<numbers[i]<<" ";

  delete[] numbers;
  return 0;
}

?

Pozdrawiam.
Awatar użytkownika
Zordon
Użytkownik
Użytkownik
Posty: 4977
Rejestracja: 12 lut 2008, o 21:42
Płeć: Mężczyzna
Lokalizacja: Kraków
Podziękował: 75 razy
Pomógł: 910 razy

C++ tablica ciągu

Post autor: Zordon »

podejrzewam, ze nie chodziło o to, żeby użyć gotowej funkcji z STLa ;>
ODPOWIEDZ