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