Autor
|
Tema: Instruccion if (Leído 2,336 veces)
|
BJM
Desconectado
Mensajes: 41
|
Este codigo debe buscar el numero mayor de un array de punteros mostrar su valor y posicion, pero en la instruccion IF me da error #include<stdio.h> #include<stdlib.h> int main() { int *array[10]; for(int i=0; i<10; i++) { printf(" \n Ingrese valor de array[%d]: ",i ); scanf("%d", (array +i )); } int may=0, pos = 0; for(int i=0; i<10; i++) if (*(array+i) > may) { may = *(array+i); pos = i; } for(int i=0; i<10; i++) { printf(" \n valor posicion array[%d]= %d ", i , *(array +i )); } printf(" \n El valor mayor es: %d , en la pos array[i]", may , pos ); system("pause"); }
|
|
|
En línea
|
|
|
|
rir3760
Desconectado
Mensajes: 1.639
|
El problema principal es: antes de utilizar un puntero debes asignarle una dirección de memoria valida. Como utilizas un array de punteros debes hacerlo por cada uno de sus elementos. Lo usual es reservar memoria mediante malloc/calloc/realloc, supongo eso ya lo viste en clase. El programa con las correcciones: #include <stdio.h> #include <stdlib.h> int main(void) { int *p[10]; for (int i = 0; i < 10; i++) for (int i = 0; i < 10; i++){ printf("Ingrese valor de array[%d]:\n", i ); } int may = *p[0]; int pos = 0; for (int i = 1; i < 10; i++) if (**(p + i) > may){ may = **(p + i); pos = i; } for (int i = 0; i < 10; i++) printf("Valor en array[%d] = %d\n", i , **(p + i )); printf("El mayor es: %d, en la pos %d\n", may , pos ); for (int i = 0; i < 10; i++) return 0; }
Un saludo
|
|
|
En línea
|
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language
|
|
|
BJM
Desconectado
Mensajes: 41
|
Gracias rir3760, copile tu codigo y en la linea 9, me indica error esto es lo que dice: invalid conversion from `void*' to `int*'
En esta linea me indica error, lo copile con dev-c++
|
|
|
En línea
|
|
|
|
rir3760
Desconectado
Mensajes: 1.639
|
copile tu codigo y en la linea 9, me indica error esto es lo que dice: invalid conversion from `void*' to `int*'
En esta linea me indica error, lo copile con dev-c++ Si lo compilas como C no debe generar ningún error. Si, por alguna extraña razón, lo compilas como C++ se genera el mensaje de error que mencionas. Un saludo
|
|
|
En línea
|
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Equivalencia C a ASM de una instrucción.
Electrónica
|
Meta
|
3
|
7,010
|
19 Octubre 2008, 06:24 am
por MARCO_RECARGADO
|
|
|
se atasca en una instruccion
Java
|
Tyrz
|
9
|
5,985
|
21 Enero 2011, 20:57 pm
por kasiko
|
|
|
Instrucción % en C++?
Programación General
|
.:UND3R:.
|
1
|
2,584
|
17 Enero 2012, 16:49 pm
por pucheto
|
|
|
Instruccion sscanf [C]
Programación C/C++
|
oblivionxor
|
6
|
3,113
|
26 Febrero 2013, 20:36 pm
por oblivionxor
|
|
|
Problema con instruccion
Programación General
|
nolasco281
|
2
|
2,036
|
7 Mayo 2014, 18:45 pm
por nolasco281
|
|