Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Lekcja [18] Tablice jednowymiarowe. Problem

Ostatnio zmodyfikowano 2013-06-26 20:29
Autor Wiadomość
Proleks
Temat założony przez niniejszego użytkownika
Lekcja [18] Tablice jednowymiarowe. Problem
» 2013-06-26 16:51:57
Siemka zrobiłem taki program ale nie wiem dlaczego mi losuje takie dziwny liczby :/

C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
    srand( time( NULL ) );
    int losuj[ 1000 ];
    int licznik = 0;
    int wynik = 0;
    losuj[ 1000 ] =(( rand() % 7 ) + 4 );
    do
    {
       
        cout << losuj[ licznik ] << endl;
       
        licznik++;
       
    } while( licznik < 999 );
   
    licznik = 0;
   
    do
    {
        wynik = wynik + losuj[ licznik ];
       
       
        licznik++;
    } while( licznik < 15 );
   
    cout << "Wynik dodawnia 999 losowych liczb z przedzialu od 4 do 10 to " << wynik << endl;
   
    return 0;
   
   
}

A przy okazji jak sie robi takie ładne okienko gdzie wklejasz kod :P
P-86227
SeaMonster131
» 2013-06-26 17:28:20
A przy okazji jak sie robi takie ładne okienko gdzie wklejasz kod :P
[cpp] kod [/cpp]

Przemyśl ten fragment kodu:
C/C++
losuj[ 1000 ] =(( rand() % 7 ) + 4 );
do
{
   
    cout << losuj[ licznik ] << endl;
   
    licznik++;
   
} while( licznik < 999 );

Musisz losować wartość każdemu elementowi tej tablicy.

Oraz w ostatniej pętli zmień warunek:
C/C++
} while( licznik < 15 );

P-86230
Proleks
Temat założony przez niniejszego użytkownika
» 2013-06-26 18:27:44
Chodziło o coś takiego ??? kompiluje się ale nw czy jest szybszy na to sposób :p

C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
    srand( time( NULL ) );
    int losuj[ 1000 ];
    int licznik = 0;
    int wynik = 0;
    do
    {
       
        losuj[ licznik ] =(( rand() % 7 ) + 4 );
        licznik++;
    } while( licznik < 999 );
   
    licznik = 0;
    do
    {
       
       
        cout << losuj[ licznik ] << " , ";
       
       
        licznik++;
       
    } while( licznik < 999 );
   
    licznik = 0;
   
    do
    {
        wynik = wynik + losuj[ licznik ];
        licznik++;
    } while( licznik < 999 );
   
    cout << endl << endl << "Wynik dodawnia 999 losowych liczb z przedzialu od 4 do 10 to " << wynik << endl;
   
    return 0;
   
   
}
P-86243
SeaMonster131
» 2013-06-26 19:32:26
Możesz wszystko zrobić w jednej pętli ;)
C/C++
do
{
    losuj[ licznik ] =(( rand() % 7 ) + 4 );
    cout << losuj[ licznik ] << " , ";
    wynik = wynik + losuj[ licznik ];
    licznik++;
} while( licznik < 999 );

P-86254
Proleks
Temat założony przez niniejszego użytkownika
» 2013-06-26 19:42:24
No niby tak ale jakim cudem skoro ja w tym moim kodzie musiałem (hmm jak to nazwać ) resetować licznik żeby program dobrze działał także kto mi to wytłumaczy jakim prawem to tutaj działa ????
P-86256
jankowalski25
» 2013-06-26 20:17:10
C/C++
int licznik = 0;
//licznik=0; //zbędny kod, bo licznik nie był jeszcze używany
do
{
    //działania...
    licznik++;
} while( licznik < 999 );
P-86263
Proleks
Temat założony przez niniejszego użytkownika
» 2013-06-26 20:22:57
Dobra dziękówa :p a wiesz może teraz mam inny problem a nie chce nowego tematu zakładać otóż to jest kod :
C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int wylosuj_liczby()
{
    int licznik = 0;
    do
    {
        tablica[ licznik ] =(( rand() % 7 ) + 4 );
        licznik++;
    } while( licznik < 999 );
   
}


int main()
{
    int tablica[ 999 ];
    wylosuj_liczby( tablica, 999 );
    return 0;
}

i chodzi mi o tablice bo wylosuj_liczby nie widzi tej zmiennej  , a nie mam pojęcia dlaczego , według mnie powinno działać ale ja to początkujący programista ,więc nw jak to już ma być .
P-86266
pekfos
» 2013-06-26 20:27:49
wylosuj_liczby() i main() to dwie różne funkcje. Dlaczego zmienna z jednej miałaby być widoczna w drugiej? Jeśli chcesz przekazać jakąś zmienną jako argument, to funkcja musi pobierać argument tego typu.
Poza tym: 1 problem - 1 temat. To, że nie chcesz zakładać nowego tematu, nie ma nic do rzeczy. Porządek musi być.
P-86267
« 1 » 2
  Strona 1 z 2 Następna strona