Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Jak to napisać


Gość CapthaPL 4Ever

Rekomendowane odpowiedzi

Opublikowano

"Napisz program, który wylosuje 999 liczb całkowitych z zakresu od 4 do 10 włącznie, wypisze te wartości na ekran, po czym zsumuje je i wynik wypisze na ekran. Wszelkie operacje mają zostać zrealizowane w oparciu o funkcje. Tablica ma być zadeklarowana w funkcji main. Oczekiwane funkcje:

Wypełnienie tablicy o podanym rozmiarze losowymi liczbami z przedziału podawanego przez argumenty funkcji.
Sumowanie określonej ilości liczb znajdujących się w tablicy i zwrot wyniku.
Wypisywanie zawartości tablicy."

 

Pomógł by ktos jak zrobić randomowe liczby w tablicy ? Zaczynam dopiero a nie mam pojęcia jak sie za to zabrać.

Umiem używać return lecz nie wiem jak zastosować to do tablicy.

 

zrobiłem coś takiego

 

#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <ctime>
#pragma warning(disable : 4996)
using namespace std;
int main()
{
srand(time(NULL));
int losowa[998];
int start = 0;
  do{
   losowa[start] = rand() % 101;
   start++;
   cout << "losowa to : " << losowa[start]<<"\n";

  } while (start != 998);
  getch();
}

i szukam sposobu by cała tablica była randomowa.

Opublikowano

Losowanie liczb z zakresu:

int wylosowana_liczba =( std::rand() % ile_liczb_w_przedziale ) + startowa_liczba;

W tym przypadku:

int wylosowana_liczba =( std::rand() % 6 ) + 4;

Dajesz to w pętle i za każdym razem wylosowaną liczbę zapisujesz w ten sposób:

int tablica[999];
for (int i=0; i<998; i++)
{
wylosowana_liczba =( std::rand() % 6 ) + 4;
wylosowana_liczba= tablica[i];
}

W celu obliczenia sumy robisz podobnie, ale dodajesz każdy element, a nie przypisujesz do tablicy o danym indeksie.

int suma=0;
for (int b=0; b<998; b++)
{
suma= +tablica[i];
}
Opublikowano

A jest możliwość zrobienia tego za pomoca pętli do , while ?

 

mógłby ktoś wytłumaczyć co jest błędne w tym kodzie ?

#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <ctime>
#pragma warning(disable : 4996)
using namespace std;
int main()
{
srand(time(NULL));
int losowa[998];
int start = 1;

  do{
   int wylosowana;
   wylosowana = (rand() % 20) + 1;
   losowa[start] = wylosowana;
   start++;
   cout << "losowa to : " << losowa[start]<<"\n";
  } while (start != 998);

  getch();
}
Opublikowano

do(cos tam; ++i;)while(i<999);

 

 

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

using namespace std;

int main()
{
int tablica[999], suma_liczb = 0, i=0;//deklarujesz tablice 999 elementow i zmienna do //sumy
srand( time( NULL ) );
do
{

tablica =( rand() % 7 ) + 4 ; // generujesz libe z swojego przedzialu //chcesz od 4 do 10 to mod 7 +4
cout << tablica << endl; //wyświetlasz liczbe
suma_liczb+=tablica; // to to samo co suma_liczb = suma_liczb + tablica;

++i;

}while(i<999);

cout << "Suma liczb = " << suma_liczb << endl;//wynik sumowania
return 0;
}

Opublikowano

 

A jest możliwość zrobienia tego za pomoca pętli do , while ?

 

mógłby ktoś wytłumaczyć co jest błędne w tym kodzie ?

#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <ctime>
#pragma warning(disable : 4996)
using namespace std;
int main()
{
srand(time(NULL));
int losowa[998];
int start = 1;

  do{
   int wylosowana;
   wylosowana = (rand() % 20) + 1;
   losowa[start] = wylosowana;
   start++;
   cout << "losowa to : " << losowa[start]<<"\n";
  } while (start != 998);

  getch();
}
#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
srand(time(NULL));
int losowa[999];
int start = 0;
int wylosowana;
  do{
   wylosowana = (rand() % 20) + 1;
   losowa[start] = wylosowana;
   cout << "losowa to : " << losowa[start]<<"\n";
   start++;
  } while (start != 999);
  getch();
}

Zła kolejność: najpierw powinien być cout, a potem inkrementacja zmiennej 'start'.

Opublikowano
#include <iostream>
#include <cstdlib>
#include <ctime>
int main()
{
    srand(time(0));
    int randomNumbers[999];
    int i = 0;
    //losowanie
    do
    {   randomNumbers[i] = std::rand()%7 + 4;
        ++i;

    }while(i < 999);
    //sumowanie
    i = 0;
    int result = 0;
    do
    {
        result += randomNumbers[i];
        ++i;
    }while(i < 999);
    std::cout << result << '\n';
    return 0;
}

albo..

#include <iostream>
#include <cstdlib>
#include <ctime>
#include <numeric>
int main()
{
    srand(time(0));
    int randomNumbers[999];
    int i = 0;
    //losowanie
    do
    {   randomNumbers[i] = std::rand()%7 + 4;
        ++i;

    }while(i < 999);
    //sumowanie
    int result = 0;
    std::cout << std::accumulate(std::begin(randomNumbers), std::end(randomNumbers), result) << '\n';
    return 0;
}

albo całkowcie nie przeczytałem treści zadania xD

ta treść jest z*****a :<

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...