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

Zadanie domowe z pętli "for". Problem z programem.

Ostatnio zmodyfikowano 2013-01-09 17:30
Autor Wiadomość
kanam99
Temat założony przez niniejszego użytkownika
Zadanie domowe z pętli "for". Problem z programem.
» 2013-01-08 21:45:07
Witam. Posiadam następujący kod:

C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>

void od_konca( int tablica[], int ile )
{
    std::cout << "Tablica od konca:" << std::endl;
    for( int indeks = ile; indeks < 0; indeks-- )
         std::cout << tablica[ indeks ] << std::endl;
   
}

void wypiszTablice( int tablica[], int ile )
{
    for( int indeks = 0; indeks < ile; indeks++ )
         std::cout << tablica[ indeks ] << std::endl;
   
}

void wypelnij( int tablica[], int ile )
{
    for( int indeks = 0; indeks < ile; indeks++ )
         tablica[ indeks ] =( rand() % 20 ) + 10;
   
}

int main()
{
    srand( time( NULL ) );
    int dane[ 10 ];
    wypelnij( dane, 10 );
    wypiszTablice( dane, 10 );
    od_konca( dane, 9 );
    return 0;
}

Gdy dochodzi do wykonania funkcji "od_konca" wyświetla się tylko napis "Tablica od konca:" i program się kończy. Czy ktoś wie jak to naprawić? I jeszcze jedno, też z zadania domowego. Jak znaleźć najmniejszą i największą liczbę? Z góry dziękuję za pomoc i pozdrawiam.
P-73410
Berux
» 2013-01-08 21:50:32
zamień
indeks < 0
 na
indeks > 0
 bo ma się powtarzać dopóki indeks jest większy od zera a nie mniejszy bo indeks musiałby mieć wartość -1 , -2, itd.
P-73411
kanam99
Temat założony przez niniejszego użytkownika
» 2013-01-08 21:56:19
Czyli pętla for kończy się gdy warunek _B_ (to chyba był ten) zwróci true? Bo się pogubiłem. I jeszcze jedno. Jak wyznaczyć największą i najmniejszą liczbę w tablicy?
P-73412
Berux
» 2013-01-08 22:01:45
1.Pętla powtarzana jest dopóki wyrażenie jest prawdziwe.
2. Sprawdzasz elementy tablicy (w osobnej funkcji) 'i' (dla największych) jak i jest równe zero to pomija się funkcja (return false), potem jeśli tak nie jest to sprawdzasz czy a > najwieksza jeśli tak to najwieksza = a;  itd aż dojdzie do końca

/edit:

A jeszcze można było
indeks > 0
 zastąpić poprostu
indeks
P-73413
kanam99
Temat założony przez niniejszego użytkownika
» 2013-01-09 17:30:59
Dziękuję Ci za pomoc. Problem rozwiązany.
P-73469
« 1 »
  Strona 1 z 1