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

Wskaźniki, funkcje

Ostatnio zmodyfikowano 2015-12-19 20:20
Autor Wiadomość
Fafkorn
Temat założony przez niniejszego użytkownika
Wskaźniki, funkcje
» 2015-12-19 18:26:10
Mam kilka problemów z programem, a mianowicie:
-za każdym razem losuje te same wyniki
-nie wiem jak użyć wskaźników, aby wylosowane dane były cały czas pamiętane oraz można było używać macierz w funkcji main
Oto kod:


#include <stdio.h>
#include <stdlib.h>
#include <time.h>


void losowanie(int macierzF[10][10],int m,int n)
    {
    int i,p;
    int macierzA[10][10];
    for(i=0; i<n; i++)
        {
        for(p=0; p<m; p++)
            {
            macierzA[p] = rand()%(50);
            }
        }
    }

void wypisywanie(int macierzF[10][10],int m,int n)
    {
    int i,p;
    int macierzA[10][10];
    for(i=0; i<n; i++)
        {
        printf("\n");
        for(p=0; p<m; p++)
            {
            printf("%d\t",macierzA[p]);
            }
        }
        printf("\n\n\n");
    }


int main()
{
    int i, p, u, n, m, j, k;
    int macierzA[10][10];
    int macierzB[10][10];
    int macierzC[10][10];

    printf("PROGRAM MNOZACY MACIERZE\n\n\n");
    scanf("%d",&n);
    scanf("%d",&m);
    scanf("%d",&k);
    j=m;

    losowanie(macierzA,n,m);
    wypisywanie(macierzA,n,j);

    return 0;
}
P-142153
carlosmay
» 2015-12-19 18:42:53
C/C++
void losowanie( int macierzF[ 10 ][ 10 ], int m, int n ) // przekazujesz 'macierzF' i nie uzywasz??
{
    int i, p;
    int macierzA[ 10 ][ 10 ]; // aby moc korzystac z tej tablicy musisz utworzyc ja dynamicznie i zwrocic wskaznik do main()
    for( i = 0; i < n; i++ ) // albo przekaz do funkcji macierz utworzona w main(), wtedy nie bedzie problemu zwracania z funkcji
    {
        for( p = 0; p < m; p++ )
        {
            macierzA[ p ][ i ] = rand() %( 50 ); // niepowtarzalnosc liczb zapewnia funkcja srand()
        }
    }
}
 
P-142154
Fafkorn
Temat założony przez niniejszego użytkownika
» 2015-12-19 18:50:32
Nie mogę użyć funkcji srand ("too few arguments")
I pytanie, jak mam przekazać tę macierz do funkcji?
P-142155
carlosmay
» 2015-12-19 19:08:52
Nie mogę użyć funkcji srand ("too few arguments")
 srand()

I pytanie, jak mam przekazać tę macierz do funkcji?
 Przekazywanie tablic do funkcji
C/C++
// main()
int tab[ 10 ][ 10 ];
funkcja( tab, 10 );

// funkcja
void funkcja( int t[ 10 ][], int rozmiar ) { } // rozmiar to ilosc elementow ostatniego nawiasu
P-142156
Fafkorn
Temat założony przez niniejszego użytkownika
» 2015-12-19 19:23:07
Funkcja losowania już działa bardzo dobrze, a do funkcji chcę przekazać jeszcze zmienne n,m,k. Link, który dałeś nie niczego nie wyjaśnia.
P-142157
carlosmay
» 2015-12-19 20:20:50
Link, który dałeś nie niczego nie wyjaśnia.
Wyjaśnia podstawy, których ci brak.

Pod linkiem napisałem jak przekazać tablicę dwuwymiarową.

a do funkcji chcę przekazać jeszcze zmienne n,m,k.
A gdzie tu problem?
Polecam także rozdział "Funkcje pierwsze starcie".
P-142158
« 1 »
  Strona 1 z 1