Losowanie liczb podzielnych przez 7 z zakresu <-99;99>

Odpowiedz Nowy wątek
2020-04-09 20:38

Rejestracja: 7 miesięcy temu

Ostatnio: 1 miesiąc temu

0

Mam problem z zadaniem:
Napisz program sumujący elementy podzielne przez 7 - tablicy jednowymiarowej. Liczba maksymalna elementów to 30. Zakres losowania od -99 do 99.

#include<iostream>
#include<ctime>
#include<cstdlib>
using namespace std;
int main(void)
{
int Array[30];
int suma=0;
srand(time(0));
for(int i=0;i<30;i++)
if(Array[i]%7==0)
{
cout<<(Array[i]=rand()%199-99)<<" ";
suma+=Array[i];
}
cout<<endl<<"Suma elementow tablicy wynosi: "<<suma<<endl;
return 0;
}

Problem polega na tym, że wyświetla liczby niepodzielne przez 7. Gdzie popełniłem błąd ?

edytowany 1x, ostatnio: kq, 2020-04-09 22:10
Hej! Twój post prawdopodobnie zawiera niesformatowany kod. Użyj znaczników ``` aby oznaczyć, co jest kodem, będzie łatwiej czytać. (jestem botem, ta akcja została wykonana automatycznie, prawdopodobieństwo 0.9999721) - Tasmanian Devil 2020-04-09 21:00

Pozostało 580 znaków

2020-04-09 20:41

Rejestracja: 4 lata temu

Ostatnio: 2 dni temu

0

Nigdzie nie sprawdzasz, czy liczba, którą wyświetlasz i sumujesz jest podzielna przez siedem: masz sprawdzanie wyżej niż przypisanie.

A tak w ogóle, korzystaj raczej z std::uniform_int_distribution.

edytowany 1x, ostatnio: Althorion, 2020-04-09 20:41

Pozostało 580 znaków

kq
2020-04-09 22:10
kq
Moderator C/C++

Rejestracja: 6 lat temu

Ostatnio: 1 godzina temu

Lokalizacja: Szczecin

1

Cały pomysł jest błędny. Losuj [-14,14] i mnóż wynik przez 7.


Pozostało 580 znaków

2020-04-09 22:19

Rejestracja: 4 lata temu

Ostatnio: 2 dni temu

Nie jestem pewien, który z nas źle zrozumiał polecenie, @kq , ale ja mam wrażenie, że trzeba wygenerować z określonego zakresu, a potem podać sumę podzielnych przez siedem. Niezależnie od tego, jakie się wygenerowały.

Pozostało 580 znaków

kq
2020-04-09 22:22
kq
Moderator C/C++

Rejestracja: 6 lat temu

Ostatnio: 1 godzina temu

Lokalizacja: Szczecin

1

Losowanie liczb podzielnych przez 7

Tytuł dla mnie dość jasny ;​)

Z treści w sumie nic nie wynika, poza tym, ze masz wylosować do 30 elementów podzielnych przez 7 z zakresu [-99,99] (czyli [-98, 98]).


Pozostało 580 znaków

Odpowiedz

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