Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

C++ - Operacje na tablicach, problem przy wprowadzaniu danych do zmiennych

Ostatnio zmodyfikowano 2015-11-23 21:34
Autor Wiadomość
bulka
Temat założony przez niniejszego użytkownika
C++ - Operacje na tablicach, problem przy wprowadzaniu danych do zmiennych
» 2015-11-23 20:17:10
Witam. Mam problem z zadaniem - w dużym uproszczeniu polega ono na stworzeniu programu, który będzie wykonywać operacje na tablicach. Nie mogę używać podprogramów, funkcji ani innych tablic prócz tej jednej. Operacje, które będą przeprowadzone oznaczone są skrótami - przyjmijmy a, b, c. e oznacza koniec operacji i sygnalizuje chęć wyświetlenia tablicy po wykonaniu uprzednich operacji. Dodatkowo dysponujemy innymi zmiennymi typu int oznaczonymi d, f i e (tak, znowu e. :<)  Moim problemem jest sposób wprowadzenia zmiennych. Pomijając całą konstrukcję programu i to, co docelowo ma się w nim dziać (bo to mam dobrze) wygląda to tak:

C/C++
#include <iostream>
using namespace std;

int main()
{
   
    int * data, n;
    cin >> n;
   
    data = new int[ n ];
    for( int i = 0; i < n; i++ )
    { //uzupełnienie tablicy wybranymi liczbami
        cin >> data[ i ];
    }
   
   
    /* tutaj jest problem - jak wprowadzić 2 lub 3 zmienne tak, aby sytuacja była jak poniżej? Konstrukcja może być inna - niekoniecznie while i if w środku, byleby działało tak, jak mi tutaj by działało, gdyby nie to, że nie działa - myślę, że wiadomo o co chodzi :D */
   
    char operacja; //nasze a - operacja 1, b - operacja 2, c - operacja 3 lub e - koniec operacji;
   
    cin >> operacja;
   
    while( operacja != 'e' ) {
       
        if( operacja == 'a' )
        { int d, f;
            //wprowadzenie d i f - parametry do wykonania operacji
            cin >> b >> e;
           
            // tresc operacji a
           
        }
       
       
       
        if( operacja == 'b' )
        { int d, f, e;
            // parametry do wykonania operacji b - są trzy
            cin >> b >> e >> k;
           
            // tresc operacji b
           
        }
       
       
       
        if( operacja == 'c' )
        { int b, e, k;
            // parametry operacji c - znow trzy
           
            tresc operacji c
           
        }
       
       
       
       
        if( operacja == 'e' ) // zakonczenie petli, wypisanie zmienionej tablicy
        {
           
            for( int i = 0; i < n; i++ )
                 cout << data[ i ] << " ";
           
        }
       
    }
   
    return 0;
   
   
}


Z góry bardzo (bardzo!) dziękuję za pomoc!
P-140664
carlosmay
» 2015-11-23 21:02:08
Skorzystaj z pętli
C/C++
do {
    // wczytywanie 'operacja'
   
    // wykonie if'ow
   
} while( operacja != 'e' );

 
P-140669
bulka
Temat założony przez niniejszego użytkownika
» 2015-11-23 21:34:09
Pomogło. Takie proste, a takie skuteczne - wcześniej też miałam do while, tylko do postawiłam po cin >> operacja i to mnie zgubiło. :) Bardzo dziękuję!
P-140670
« 1 »
  Strona 1 z 1