Napisz funkcje generuj(rand)

Napisz funkcje generuj(rand)
G1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 9
0

witam, mam do zrobienia zadanie : gdzie popełniłem błąd?

I. Napisz program zawierający funkcje wykonujące operacje na N – elementowym wektorze liczb
całkowitych:

  • generuj() - funkcja zapisująca do wektora wygenerowane pseudolosowo liczby
    całkowite z zakresu 〈a, b〉, gdzie a i b są argumentami funkcji;
Kopiuj
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int i,x;
int generuj(x)
{
    int tab[x];
    srand(time(NULL));
    for(i=0;i<x;i++)
    {
        tab[i]=rand() %10;
    }


    return tab[i];
}



int main()
{
int x=5;
    printf("Wylosowane numery to: %d ",generuj(x));

    return 0;
}

Kopiuj

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
4

Dlaczego Twoja funkcja generuj() zwraca tab[i]? Co to robi, według Ciebie? :-)

szweszwe
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 1694
5

gdzie popełniłem błąd?

Raczej gdzie nie popełniłeś?

  1. Musisz się zastanowić co ta funkcja ma zwracać.
  2. Na razie zwracasz element który jest poza tablicą.
  3. W ogóle printf wygląda tak, że chce wypisać jakiego inta, co by się z deklaracją funkcji zgadzało, ale tekst mówi o numerach. No to jak chcesz zawrzeć kilka numerów w 1 zmiennej int?
  4. Deklaracja funkcji powinna mieć typ argumentu, to że masz int x wcześniej, nie znaczy, że tutaj magicznie zadeklarujesz funkcję jako int generuj(int x). Musisz to napisać wprost. Zresztą ci to kompilator zakomunikował w błędzie.
kq
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
3

całkowite z zakresu 〈a, b〉, gdzie a i b są argumentami funkcji;

​ ​

int generuj(x)

Zgodnie z opisem, funkcja ma mieć przynajmniej dwa argumenty. I prawdopodobniej wektor, do którego zapisujesz też ma być przekazany jako argument.

TomaszLiMoon
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 530
2

funkcja zapisująca do wektora wygenerowane pseudolosowo liczby

Czy przypadkiem nie jest to std::vector<int>, a język C++?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.