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

- Rejestracja:prawie 14 lat
- Ostatnio:prawie 3 lata
- Postów:4882
- Rejestracja:około 10 lat
- Ostatnio:prawie 10 lat
- Postów:172
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);
}
edytowany 2x, ostatnio: _user

- Rejestracja:około 17 lat
- Ostatnio:5 minut
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.
edytowany 2x, ostatnio: MarekR22
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.