Menú

Mostrar Mensajes

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ú

Mensajes - @synthesize

#1181
Analizando el for:

for(i=0;i<100 && palabra!='\0';i++);


Mientras: I es igual a 1. Mientras I sea menor que 100 Y palabra No sea \0, aumenta en 1 I

Recorres palabra[] hasta que llegas al final de la palabra, por cada letra, le suma 1 a i.




Aparte:

Intenta no usar void main, pues el sistema espera que le devuelvas algo. Una int main, y return al final del programa.

Te dejo el código corregido (Te faltaba indicar la celda en palabra)



#include <stdio.h>

int main()
{
  char palabra[100];
  int i=0;
  printf("Mete una palabra:");
  scanf("%s",palabra);
  for(i=0;i<100 && palabra[i]!='\0';i++);
  printf("\n\nLa palabra %s tiene %d letras",palabra,i);
  fflush(stdin);
  getchar();
return 0;
}


Citarserch@serch-server:~$ gcc 1.c -Wall
serch@serch-server:~$ ./a.out
Mete una palabra:sergio


La palabra sergio tiene 6 letrasserch@serch-server:~$

Consejo, lee el post de Littlehorse, sobre lo que no se debe hacer en C (Lo digo por fflush)
#1182
Puedes crearte una función principal (P.e. void miFunc() ) y acceder a ella llamándola desde el programa.

También puedes no salir de una principal gracias a un bucle, como te explican arriba, y así te ahorrar definir funciones o usar recursividad
#1183
Gracias por responder, ya he visto claro mi error, fantástico como siempre lh.

#include <stdio.h>

int main(void)
{
int cont;
char vector[5];
for ( cont=0 ; cont<5 ; cont++ )
{
    vector[cont] = 'a';
}

printf("%s\n", vector);
return 0;
}
#1185
A desconocidos, 20€. A conocidos y tal, con que me inviten a un zumo/coca cola/baso de agua, me sobra xD
#1186
Cita de: Littlehorse en  8 Julio 2010, 06:58 AM
:o.

Que se supone que es "arreglo"? es una matriz o un vector? ten en cuenta que el primer parámetro de strncpy es char*. Si "arreglo" es una cadena, haciendo arreglo[cont] estas refiriéndote a un char.

Código (cpp) [Seleccionar]

for(int i=0;i<MAX;i++)
     arreglo[i]='a';


Lean sobre manejo de cadenas.

Saludos

No se si asignar directamente un carácter a una cadena es buena práctica, pero a mi en clase (Con borland c++ 3.1) me ha dado problemas, por eso siempre acababa usando strncpy.. (Es cosa del compilador?
#1187
Cita de: mapers en  8 Julio 2010, 06:52 AM
1 ves en 100 celdas

Ya te he dejado el code arriba  :xD

También lo puedes hacer sin strncpy



for ( cont =0 ; cont <100 ; cont++ )
{
   vector[cont] = num;
}



Aun que esto es para enteros claro
#1188
100 veces en una celda o 1 vez en 100 celdas? Especifica xD

Para lo 2º:

for ( cont=0 ; cont<100 ; cont++ )
{
    strncpy (vector[cont], "a", 1);
}
#1189
Hardware / Re: problemas con la ram
8 Julio 2010, 06:38 AM
No creo que sea bueno mezclar ram's de distintos tipos..  :-\
#1190
Si buscas un programa, va en la sección de Software.