elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  busco ayuda urgente problemas [Error] invalid types 'int[int]' for array subscr
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: busco ayuda urgente problemas [Error] invalid types 'int[int]' for array subscr  (Leído 3,856 veces)
rodrigo98

Desconectado Desconectado

Mensajes: 3


Ver Perfil
busco ayuda urgente problemas [Error] invalid types 'int[int]' for array subscr
« en: 8 Octubre 2017, 06:21 am »

Porfavor ya nose que hacer

Código
  1. #include <iostream>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <conio.h>
  5. #include <math.h>
  6. //funcion que captura un vector alfa
  7. void captura_vector(int* alfa)
  8. {
  9. int i;
  10. alfa=(int *)malloc(sizeof(int*)*(i));
  11. for(i=0;i<=3;i++)
  12. {
  13. printf("ingresa cordenada: ",i);
  14. scanf("%d",&alfa[i]);
  15. }
  16. }
  17. //funcion que captura el vector beta
  18. void captura_beta(int* beta)
  19. {
  20. int i;
  21. beta=(int *)malloc(sizeof(int*)*(i));
  22. for(i=0;i<=3;i++)
  23. {
  24. printf("ingresa cordenada: ",i);
  25. scanf("%d",&beta[i]);
  26. }
  27. }
  28. //funcion menu
  29. void menu_principal(int *alfa, int *beta)
  30. {
  31. int op,i,c,sum;
  32. float result,j;
  33.  
  34. printf("******MENU*******\n");
  35. printf("1.-SUMA\n");
  36. printf("2.-PRODUCTO ESCALAR\n");
  37. printf("3.-PRODUCTO PUNTO\n");
  38. printf("4.-NORMA DE UN VECTOR\n");
  39. printf("5.-VECTOR UNITARIO\n");
  40. printf("INGRESA UNA OPCION\n");
  41. scanf("d",&op);
  42.  
  43. //inicio de calculadora atraves de opciones o intruccion casos
  44. switch(op)
  45. {
  46. case '1': //operacion suma
  47. printf("********SUMA********\n");
  48. for(i=0;i<=3;i++)
  49. sum[i]=alfa[i]+beta[i];
  50. printf("\nEl resultado de la suma es: ",sum);
  51. break;
  52.  
  53. case '2': //operacion producto escalar
  54. printf("\n********PRODUCTO ESCALAR********\n");
  55. printf("Seleccione vector\n");
  56. printf("1.-Alfa (vector 1)\n");
  57. printf("2.-Beta (vector 2)\n");
  58. scanf("d",&op); //seleccion de vector con el q se trabajara
  59. printf("ingresa escalar\n");
  60. scanf("d",&c);
  61. if (op==1) //lectura de opcion
  62. {
  63. for(i=0;i<=3;i++) //vector alfa
  64. result[j]=c*(alfa[i]);
  65. }
  66. else
  67. {
  68. for(i=0;i<=3;i++) //vector beta
  69. result[j]=c*(beta[i]);
  70. }
  71. printf("el resultado es:\n",result); //impresion de resultados de ambos vectores(cada uno por separado)
  72. break;
  73.  
  74. case '3': //operacion producto punto
  75. printf("\n********PRODUCTO PUNTO********\n");
  76. printf(" \n",alfa[2]*beta[3]-alfa[3]*beta[2]); //primera ecuacion de la matriz
  77. printf(" \n",-alfa[1]*beta[3]+alfa[3]*beta[1]);  //segunda ecuacion de la matriz
  78. printf(" \n",alfa[1]*beta[2]-alfa[2]*beta[1]); //tercer ecuacion de la matriz
  79. break;
  80.  
  81. case '4': //operacion de la norma de un vector
  82. printf("\n********NORMA DE UN VECTOR********\n");
  83. printf("Seleccione vector\n");
  84. printf("1.-Alfa (vector 1)\n");
  85. printf("2.-Beta (vector 2)\n");
  86. scanf("d",&op); //seleccion de opcion de vector
  87. sum=0;
  88. for(i=0;i<=3;i++)
  89. {
  90. if (op==1)
  91. {
  92. sum=sum+alfa[i]*alfa[i]; //vector alfa
  93. }
  94. else
  95. {
  96. sum=sum+beta[i]*beta[i]; //vector beta
  97. }
  98. if(op==1) //imprecion de resultado
  99. {
  100. printf("la norma de alfa es:  ",sqrt(sum)); //resultado de alfa
  101. }
  102. else
  103. {
  104. printf("la norma de beta es:  ",sqrt(sum)); // resultado de beta
  105. }
  106. }
  107. break;
  108.  
  109. case '5': // operacion de un vector unitario
  110. printf("*******VECTOR UNITARIO******** ");
  111. printf("Seleccione vector\n");
  112. printf("1.-Alfa (vector 1)\n");
  113. printf("2.-Beta (vector 2)\n");
  114. scanf("d",&op);
  115. sum=0;
  116. for(i=0;i<=3;i++)
  117. {
  118. if (op==1)
  119. {
  120. sum=sum+alfa[i]*alfa[i]; //vector alfa
  121. result=sqrt(sum);
  122. printf("el vector unitario de alfa es:  ",alfa[i]/result);
  123. }
  124. else
  125. {
  126. sum=sum+beta[i]*beta[i]; //vector beta
  127. result=sqrt(sum);
  128. printf("el vector unitario de beta es:  ",beta[i]/result);
  129. }
  130. }
  131. break;
  132. }
  133. }
  134. //funcion principal
  135. int main(int argc, char** argv)
  136. {
  137.  
  138. int *alfa, *beta;
  139.  
  140. captura_vector(alfa);
  141. captura_beta(beta);
  142. menu_principal(alfa,beta);
  143.  
  144. return 0;
  145. }
Porfavor necesito ayuda me marca errores de
49   9 [Error] invalid types 'int[int]' for array subscript
64   13 [Error] invalid types 'float[float]' for array subscript
69   13 [Error] invalid types 'float[float]' for array subscript


En línea

BloodSharp


Desconectado Desconectado

Mensajes: 804


El Messi-Vegeta :D


Ver Perfil
Re: busco ayuda urgente problemas [Error] invalid types 'int[int]' for array subscr
« Respuesta #1 en: 8 Octubre 2017, 06:50 am »

Porfavor ya nose que hacer

Tenés unos serios problemas con los punteros el primero que ví

Código
  1. int i;
  2. alfa=(int *)malloc(sizeof(int*)*(i));

que calculo que quisiste solo almacenar el número entero y no la dirección "basura" que contiene porque no está siquiera inicializada/asignada:

Código
  1. int i;
  2. alfa=(int *)malloc(sizeof(int));

en el main igual, estás pasando valores de direcciones basura:

Código
  1. int *alfa, *beta;
  2.  
  3. captura_vector(alfa);
  4. captura_beta(beta);
  5. menu_principal(alfa,beta);

se soluciona así:

Código
  1. int alfa, beta;
  2.  
  3. captura_vector(&alfa);
  4. captura_beta(&beta);
  5. menu_principal(&alfa,&beta);

otra recomendación aunque no hay error en esto es que no incluyas definiciones ni mezcles librerías de C++ (iostream) con C (el resto)...


B#


En línea



ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: busco ayuda urgente problemas [Error] invalid types 'int[int]' for array subscr
« Respuesta #2 en: 8 Octubre 2017, 13:14 pm »

Ni result ni sum son arrays, pero los tratas como si lo fueran:
Código
  1. int op,i,c,sum;
  2. sum[i]=alfa[i]+beta[i];
sum es int, no int* ni array, no puedes usarle [].
En línea

rodrigo98

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: busco ayuda urgente problemas [Error] invalid types 'int[int]' for array subscr
« Respuesta #3 en: 8 Octubre 2017, 16:14 pm »

Si  muchas gracias si se solucionaron los errores y tendré muy en cuenta lo de no mezclar las librerías y las definiciones   de C y C++.

solo que ahora no muestra las instrucciones del menú.
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: busco ayuda urgente problemas [Error] invalid types 'int[int]' for array subscr
« Respuesta #4 en: 8 Octubre 2017, 16:29 pm »

Pusiste: "case '1':". Al poner el 1 entre comillas simples, lo interpreta como un caracter. Un caracter, al final es solo un número, y su valor ascii es el 49, con lo que eso realmente es como si fuera: "case 49:".
Pon el número sin las comillas en los case.
En línea

rodrigo98

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: busco ayuda urgente problemas [Error] invalid types 'int[int]' for array subscr
« Respuesta #5 en: 8 Octubre 2017, 16:35 pm »

ooo cierto muchas gracias de nuevo ya con esto quedo mi programa muchas gracias
 
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines