funkcja print

0

co robi opcja "print(argument1, argument2)" w c ? czy to moze jest z c++ ? nie moge nigdzie znalezc bo samo printf wszedzie wyskakuje

0

Pokaż kod.

0

Nie chodzilo mi o printf, przeciez napisalem ze chodzi o samo PRINT, w kodzie bylo - print(argument1, argument2)

to jest uzyte w tym kodzie:

#include <stdio.h>
#include <stdlib.h>
 
typedef struct {
  int first;
  int n;
  int level;
} Call;
 
void print(int n, int * a) {
  int i ;
  for (i = 0; i <= n; i++) {
    printf("%d", a[i]);
  }
  printf("\n");
}
 
void integerPartition(int n, int * a){
  int first;
  int i;
  int top = 0;
  int level = 0;
  Call * stack = (Call * ) malloc (sizeof(Call) * 1000);
  stack[0].first = -1;
  stack[0].n = n;
  stack[0].level = level;
 
  while (top >= 0){
    first = stack[top].first;
    n = stack[top].n;
    level = stack[top].level;
 
    if (n >= 1) {
      if (first == - 1) {
    a[level] = n;
    print(level, a); /*~~~~~~~~~~~~~~~~TUTAJ~~~~~~~~~~~~~~~~~~~~~*/
    first = (level == 0) ? 1 : a[level-1];
    i = first;
      } else {
    i = first;
    i++;
      }
      if (i <= n / 2) {
    a[level] = i;
    stack[top].first = i;
    top++;
    stack[top].first = -1;
    stack[top].n = n - i;
    stack[top].level = level + 1;
      } else {
    top--;
      }
    } else {
      top --;
    }
  }
}
 
int main(){
  int n;
  scanf("%i", &n);
  int * a = (int * ) malloc(sizeof(int) * n);
  printf("\nThe integer partition for %d is :\n", n);
  integerPartition (n, a);
  return(0);
}
1

Wyświetla tablicę intów.

4

przecież masz tu od razu implementację, więc widać co robi - to nie jest standardowa funkcja - ktoś sobie napisał...

0

no faktycznie, slepy sie robie xd nazwa print byla troche mylaca, myslalem ze to jakas inna odmiana printf, dzieki :)

0

może być, w róznych systemach dodatkowo zdefiniowana jako systemowa funkcja do czegoś, ale tu jej definicja jest w pliku, którego zawartość wkleiłeś.

1

FYI ta funkcja jest źle napisana:

  • źle nazwana
  • nie trzyma standardu kolejności argumentów (wielkość tablicy powinna być podawana po wskaźniku na tablicę)
  • wykracza poza zakres tablicy
  • nie separuje niczym wartości, więc nie widać: gdzie się kończy jedna liczba, a zaczyna następna.

1 użytkowników online, w tym zalogowanych: 0, gości: 1