'n' es el dato ya que esta declarado como un solo char.
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
arreglo[i] = calloc(len+1,sizeof(char));
memcpy(arreglo[i],token,len);
printf("Numero %i: %s\n",i+1,arreglo[i]);
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main() {
int N,i = 0,len;
char *buffer;
char *token = NULL;
char temporal[5000];
fgets(temporal,1000,stdin);
N = strtol(temporal,NULL,10);
char arreglo[N][30];
token = strtok(buffer," ");
fgets(temporal,5000,stdin);
token = strtok(temporal," ");
do {
//arreglo[i] = token; // Esta linea esta bien, pero realmente recomiendo moverl el contenido de esta posicion de memoria a uno que si controlemos nosotros
len = strlen(token);
memcpy(arreglo[i],token,len);
printf("Numero %i: %s\n",i+1,arreglo[i]);
token = strtok(NULL," ");
i++;
}while(i < N && token != NULL);
}
C:\codigos>ts1.exe
10
1 2 3 4 5 6 7 8 9 0
Numero 1: 1
Numero 2: 2
Numero 3: 3
Numero 4: 4
Numero 5: 5·a
Numero 6: 6
Numero 7: 7fúw~
Numero 8: 8
Numero 9: 9ÖÖ
Numero 10: 0
Numero 961: 1
Numero 962: 2w╕τa
Numero 963: 3æ╝wΦa
Numero 964: 4
Numero 965: 5τa
Numero 966: 6w
Numero 967: 7@8
Numero 968: 8⌠
Numero 969: 9
Numero 970: 0µ
Numero 971: 1
Numero 972: 2
Numero 973: 3
Numero 974: 4
Numero 975: 5Θa
Numero 976: 6
Numero 977: 7
Numero 978: 8
Numero 979: 9ó╛wƱOuÉ
Numero 980: 0
Numero 981: 1
Numero 982: 2
Numero 983: 3
Numero 984: 4
Numero 985: 5
Numero 986: 6
Numero 987: 7
Numero 988: 8
Numero 989: 9Ωa
Numero 990: 0
Numero 991: 1Ωa
Numero 992: 2w
Numero 993: 3Ēw
Numero 994: 4
Numero 995: 5╝íw
Numero 996: 6
Numero 997: 7
Numero 998: 8
Numero 999: 9
Numero 1000: 0
Cita de: MAFUS en 7 Noviembre 2018, 17:07 PM
Una imagen vale mas que mil palabras:
https://www.youtube.com/watch?v=X5hR5iLWBeU
int main() {
int i,j;
Grafo grafo,temp;
srand(time(NULL));
grafo = crear_nodo(rand());
i = 0;
while(i < 1000000) {
agregar_nodo(grafo,crear_nodo(rand()));
i++;
}
i = 0;
while(i < 1000) {
temp = grafo->nodos[rand() % grafo->n_nodos];
j = 0;
while(j < 200) {
agregar_nodo(temp,crear_nodo(rand()));
j++;
}
i++;
}
getc(stdin);// Solo para que no se cierre el programa pero no me gusta usar getc
return 0;
}
#include<stdio.h>
#include<stdlib.h>
typedef struct str_nodo *Nodo;
typedef struct str_nodo {
int valor;
Nodo *nodos; //Nodos con los que esta unido el nodo actual
int n_nodos;
}*Grafo;
Nodo crear_nodo(int valor);
void agregar_nodo(Nodo inicial,Nodo final); //Esta funcion une ambos nodos
int main() {
Grafo grafo;
grafo = crear_nodo(10);
agregar_nodo(grafo,crear_nodo(5)); //Aqui tenemos el nodo 10 <-> 5 Que apunta al nodo 5
agregar_nodo(grafo,crear_nodo(15));
agregar_nodo(grafo,crear_nodo(800));
agregar_nodo(grafo,crear_nodo(100));
//En este punto parece sencillo recorrer todos los nodos existentens, pero las cosas se podrian complicar un poco si agregamos nodos a los nodos ya existententes de forma aleatoria
return 0;
}
Nodo crear_nodo(int valor) {
Nodo nodo;
nodo = calloc(1,sizeof(struct str_nodo));
nodo->valor = valor;
nodo->nodos = NULL;
nodo->n_nodos = 0;
return nodo;
}
void agregar_nodo(Nodo inicial,Nodo final) {
inicial->nodos = realloc(inicial->nodos,(inicial->n_nodos +1 )*sizeof(struct str_nodo*)); //Incrementamos el espacio para (inicial->n_nodos +1) Apuntadores
final->nodos = realloc(final->nodos,(final->n_nodos +1 )*sizeof(struct str_nodo*)); //Incrementamos el espacio para (final->n_nodos +1) Apuntadores
inicial->nodos[inicial->n_nodos] = final;
final->nodos[final->n_nodos] = inicial;
printf("%i <-> %i\n",inicial->valor,final->valor);
inicial->n_nodos++;
final->n_nodos++;
}
C:\codigos>tsss.exe
10
1 2 3 5 5 5 5 5 5 5
Numero 1: 1
Numero 2: 2
Numero 3: 3
Numero 4: 5
Numero 5: 5
Numero 6: 5
Numero 7: 5
Numero 8: 5
Numero 9: 5
Numero 10: 5
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main() {
int N,i = 0,len;
char **arreglo = NULL;
char *buffer;
char *token = NULL;
char temporal[1000];
fgets(temporal,1000,stdin);
N = strtol(temporal,NULL,10);
token = strtok(buffer," ");
fgets(temporal,1000,stdin);
token = strtok(temporal," ");
do {
arreglo = realloc(arreglo, sizeof(char*) * (i +1));
//arreglo[i] = token; // Esta linea esta bien, pero realmente recomiendo moverl el contenido de esta posicion de memoria a uno que si controlemos nosotros
len = strlen(token);
arreglo[i] = calloc(len+1,sizeof(char));
memcpy(arreglo[i],token,len);
printf("Numero %i: %s\n",i+1,arreglo[i]);
token = strtok(NULL," ");
i++;
}while(i < N && token != NULL);
}