Ciąg i wypisanie czy co 4 element ciagu jest liczba podzielna przez 4.

0

Musze zrobic program ktory wygeneruje automatycznie ciag podany przez uzytkownika np. 10 liczb i potem funkcje voida ktora sprawdzi czy co 4 element ciągu jest liczba podzielna przez 4.Potem program ma wypisac te liczby podzielne przez 4.
Nie wiem jak to zrobić Prosze o pomoc na razie udało mi się tyle!


void funkcja (int * tab, int x,int i,int n)

for(i=0;i<x;i=i+4)
{
	
tab[i] = tab[i] %4==0;
}
for (i=0;i<x;i++)
{
n = n+1;
cout<<"liczba["<<n<<"]="<<tab[i];
}




int main()
{
cout <<"podaj zakres ciagu";
cin >>x;
tab = new int[x];
}



1

W jaki sposób to zaprogramowałeś, skoro nawet nawiasów nie potrafisz postawić?

0
#include <iostream>

int main() {
	int d;
	std::cout <<"Podaj długość ciagu: ";
	std:: cin >> d;
	int * tab  = new int[d];
	for(int i = 0 ; i < d; i++) {
		std::cin >> tab[i];
	}
	for(int i = 0; i < d; i++) {
		if(!(i % 4)) {
			if(!(tab[i] % 4)) {
				std::cout << tab[i] << "\n";
			}
		}
	}
}
 
0
robcio napisał(a):
#include <iostream>

int main() {
	int d;
	std::cout <<"Podaj długość ciagu: ";
	std:: cin >> d;
	int tab * = new int[d];
	for(int i = 0 ; i < d; i++) {
		std::cin >> tab[i];
	}
	for(int i = 0; i < d; i++) {
		if(!(i % 4)) {
			if(!(tab[i] % 4)) {
				std::cout << tab[i] << "\n";
			}
		}
	}
}
 

Robcio źle zrozumiałeś przeczytaj powoli i ze zroezumieniem to co napisałem...
Program ma automatycznie generować np.10 liczb. Wybrać tylko te podzielne przez 4 i wypisać je ..Trzeba uzyć sranda tutaj chyba .
Wrzuciłem to co podałes ale cos nie trybi mi przy opcji : int tab * = new int[d]; BTW poco w ogóle jest ten znak mnozenia tam? z gory dzieki za pomoc wszystkim

0

Jak chcesz wypełnić tablicę losowymi wartościami:

 
std::cin >> n;
for(int i = 0; i < n; i++) {
tab[i] = rand();
}
0

Otóż jest jeszcze 1 mały drobny problem mianowicie pokazuje liczby ktore nie sa podzielne przez 4 .
Drugi problem to gdy wpisze zeby ciag mial np. 10 liczb to połowa z nich jest = 0 . Wiem ze srand korzysta z <ctime> i sa one generowane w tej samej sekundzie ale jak uzyje zwyklego rand() to ciagle te libczy beda takie same za kazdym uruchomieniem. Potrafi ktos cos zaradzić na ten problem? Oto mój ulepszony kod:

#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <cstdio>
#include <ctime>

 
int main() {
        int d;
        std::cout <<"Podaj długość ciagu: ";
        std:: cin >> d;
        int *tab = new int[d];
        for(int i = 0 ; i < d; i++) {
			srand( time( NULL ) );
                std::cout<<tab[i]<<"\n";
        }
        for(int i = 0; i < d; i++) {
                if(!(i % 4)) {
                        if(!(tab[i] % 4)) {
				std::cout<<"liczby to:";
                                std::cout << tab[i] << "\n";
                        }
                }
        }
}


0
 #include <iostream>
#include <cstdlib>
#include <ctime>


int main() {
        srand( time( NULL ) );
        int d;
        std::cout <<"Podaj długość ciagu: ";
        std:: cin >> d;
        int *tab = new int[d];
        for(int i = 0 ; i < d; i++) {
            tab[i] = rand();
            std::cout<<tab[i]<<"\n";
        }
        for(int i = 0; i < d; i+=4) {
            if(!(tab[i] % 4)) {
                std::cout<<"liczby to:";
                std::cout << tab[i] << "\n";
            }
        }

        return 0;
}

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