Wykreslanie liczb

0

http://img840.imageshack.us/img840/7898/skanowanie0007o.jpg
mam takie zadanie
moj kod zupelnie mi nie dziala prosze o pomoc

 #include <iostream>
#include <iomanip>
using namespace std;
int main()
{

    const int MAX_N = 30;
    int A[MAX_N];
    int k,n,c=0;
    cout<<"Podaj ilosc wyrazow tablicy: "; cin>> n;
    for(int i=0; i<n; i++){
            A[i]=i+1;
            }
     cout<<"Podaj co ktory wyraz ma usunac: "; cin>>k;

                     while (c<=n){

                                   c=c+k;
                                   A[c-1]=0;

                                   if(c>n){
                                           c=c-n;
                                           A[c-1]=0;}
                                   else if (A[c-1]==0){
                                        c=c-n+1;
                                        A[c-1]=0;}

                                   }

                           for(int i=0;i<n;i++){
                           cout<<setw(5)<<A[i];}

           system("pause");
           return 0;
           }
0

Jak to rzekł kiedyś misiekd:

NIE DZIAŁA to możesz powiedzieć jak Ci nie stanie przy dziewczynie

Powiedz nieco dokładniej, o co chodzi.
Nie kompiluje się/nie działa poprawnie?

0

nie dziala poprawnie nie wykresla liczb w taki sposob jak jest w tresci i nie zbyt wiem jak to zrobic

0

Pytanie co się stanie, gdy k = 5 lub 2 dla n = 10. W ten sposób nigdy nie będą wyeliminowane wszystkie elementy. Zadanie nic o tym nie mówi, ma to być uwzględnione?

0
#include <iostream>
using namespace std;

int main()
{
    int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    int vec[10];

    int elems = 10; // elems == N
    int k = 3; // k == k - 1, ponieważ indeksujemy od 0, to pierwszy wykreślony element to arr[3]
    int counter = 0; // iteruje nam po tablicy vec
    while(1)
    {

        vec[counter++] = arr[k]; // przypisujemy wartosc z tablicy arr do tablicy wyjsciowej
        arr[k] = 0;     // zerujemy wartosc dla warunku w pętli for

        --elems;        // dekrementacja ilości elementów
        if(!elems)
            break;

        for(int j = 0; j < 4 ; )
        {
            if(++k >= 10)   // inkrementujemy wartość k tak, aby po uzyskaniu przez nią magicznej liczby 10, znalazła się w przedziale 0-9
                k %= 10;
            if(arr[k] != 0)
                ++j;        // jeżeli osoba jeszcze żyje, to inkrementujemy j
        }

    }

    for(int i = 0; i < 10; ++i)
        cout << vec[i] << " ";

    getchar();
    return 0;
}
0

bo jak jakis element jest =0 to trzeba przeskakiwac dalej jak bys mialo koło i wykreslal elementy i jak jakiegos nie ma to dalej i az wykreslisz wszystkie

0

Weź machnij listę intów zawierającą pozycje i wywalaj co 3. FIN!

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0