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

potrzebuje pomocy w napisaniu malenkiego programu w c

Ostatnio zmodyfikowano 2010-03-23 17:54
Autor Wiadomość
Rado05
Temat założony przez niniejszego użytkownika
potrzebuje pomocy w napisaniu malenkiego programu w c
» 2010-03-22 19:04:32
bede baaaardzo wdzieczny za pomoc

program ma okreslac wartosci maksymalne/minimalne ciagu liczb wprowadzonych na standardowe wejscie ( wraz z indeksem jej wystapienia w ciagu)

bardzo prosze o pomoc (mam 1 godz )
P-15331
malan
» 2010-03-22 19:35:16
Przykładowe dane:
1 2 3  4 5 6 7 8 9
Masz wypisać liczbę najmniejszą, największą i ich "pozycja" w ciągu?

Pierwszy program w C ;p:
C/C++
#include <stdio.h>
#include <stdlib.h>

int ZnajdzNajwieksza( int tab[ 100 ], int rozmiar );
int ZnajdzNajmniejsza( int tab[ 100 ], int rozmiar );

int main()
{
    int nowa_liczba, i = 0, max, min;
    int tablica_liczb[ 100 ];
   
    while( scanf( "%d", & nowa_liczba ) )
    {
        tablica_liczb[ i++ ] = nowa_liczba;
    }
   
    max = ZnajdzNajwieksza( tablica_liczb, i );
    min = ZnajdzNajmniejsza( tablica_liczb, i );
   
    printf( "Wartosc najwieksza: %d, index: %d\n", tablica_liczb[ max ], max + 1 );
    printf( "Wartosc zajmniejsza: %d, index: %d", tablica_liczb[ min ], min + 1 );
   
    return 0;
}

int ZnajdzNajwieksza( int tab[ 100 ], int rozmiar )
{
    int max = tab[ 0 ];
    int index = 0, i;
   
    for( i = 0; i < rozmiar; i++ )
    {
        if( tab[ i ] > max )
        {
            max = tab[ i ];
            index = i;
        }
    }
   
    return index;
};

int ZnajdzNajmniejsza( int tab[ 100 ], int rozmiar )
{
    int max = tab[ 0 ];
    int index = 0, i;
   
    for( i = 0; i < rozmiar; i++ )
    {
        if( tab[ i ] < max )
        {
            max = tab[ i ];
            index = i;
        }
    }
   
    return index;
}
Edit (22:10):  Poprawione.
P-15335
Elaine
» 2010-03-22 19:52:48
Nie działa. Ale to i lepiej - może OP wykaże choć trochę samodzielności i sobie ten błąd poprawi...
P-15339
malan
» 2010-03-22 21:44:21
Godzina minęła... - oświecisz mnie, cóż to za błąd popełniłem?
P-15355
Elaine
» 2010-03-22 22:06:01
Przyjrzyj się temu, co robisz ze zmiennymi max w obydwu funkcjach...
P-15359
malan
» 2010-03-22 22:09:36
Tak to jest jak się robi na szybko ;p.
P-15360
Elaine
» 2010-03-22 22:20:33
Tak to jest, jak się wymyśla koło na nowo (a trzeba, taki język) - w C++ możnaby użyć std::min_element i std::max_element, w C niestety trzeba to zrobić samemu, co jest errorogenne.
P-15362
malan
» 2010-03-22 22:24:54
<< delete >>
P-15364
« 1 » 2
  Strona 1 z 2 Następna strona