el programa debe mostrarme una 3ra fila k sake el promedio por columna de la matriz
ej: ejecutado me da asi -----> [IMG]http://i56.tinypic.com/32zjjmx.jpg[/IMG
/*EJERCICIO 11
arreglos bidimencionales. ingresar y mostrar el promedio de filas
FECHA: LUNES 26 DE SEPTIEMBRE
CURSO:
ELABORADO POR: */
#include<iostream.h>
#include<conio.h>
int busqueda_lineal (const int [],int , int);
//declarar funcion
main()
{
char op ;
do
{
clrscr();
int notas [30][30];
int i,j,fil,col;
float suma=0.0, promedio;
cout<<"\n *****************ARREGLOS BIDIMENSIONALES***************** \n";
cout<<"cuantas filas =>";
cin>>fil;
cout<<"cuantas columnas =>";
cin>>col;
cout<<"\ningresos de valores:\n\n" ;
for (i=0; i<fil;i++)
{
for (j=0; j<col;j++)
{
cout<<"fila["<<i<<"]"
<<"columna["<<j<<"]=>";
cin>>notas[j];
}
}
cout<<"\n .....salida de valores....\n";
for (i=0; i<fil;i++)
{
suma=0.0;
cout<<"\t"<<"\n";
for (j=0; j<col;j++)
{
cout<<"\t"<<notas[j];
suma=suma+notas[j];
}
promedio=suma/fil;
cout<<"\t"<<promedio <<"\n";
}
cout<<"\n\t\t\t =) =)!!!\n";
cout<<"\n DESEA SALIR S/N....";
op=getch();
}while ((op!='s') && (op!='S'));
return 0;
}
kisiera k me ayuden kn esa solucion !! graxias
Hola
Cuando calculas el promedio de las filas divides entre fil y debes dividir entre col, además pones notas[j], debería ser notas[ i ][j]
No utilices conio
Para calcular el promedio de las columnas puedes crearte un array, lo inicializas a 0 y luego sumas. Te pongo el código:
#include<iostream>
using namespace std;
int main()
{
char op ;
int notas [30][30];
int i,j,fil,col;
float suma=0.0, promedio, columnas[30];
do
{
for(int x=0; x<30; x++)
columnas[x] = 0;
cout<<"\n *****************ARREGLOS BIDIMENSIONALES***************** \n";
cout<<"cuantas filas =>";
cin>>fil;
cout<<"cuantas columnas =>";
cin>>col;
cout<<"\nIngreso de valores:\n\n" ;
for (i=0; i<fil;i++)
{
for (j=0; j<col;j++)
{
cout<<"fila["<<i<<"]"<<"columna["<<j<<"]=>";
cin>>notas[i][j];
}
}
cout<<"\n .....Salida de valores....\n";
for (i=0; i<fil;i++)
{
suma=0.0;
cout<<"\t"<<"\n";
for (j=0; j<col;j++)
{
cout<<"\t"<<notas[i][j];
suma=suma+notas[i][j];
columnas[j] += notas[i][j];
}
promedio=suma/col;
cout<<"\t"<<promedio <<"\n";
}
cout<<endl<<endl;
for(int x=0; x<col; x++)
cout<<"\t"<<columnas[x]/fil;
cout<<"\n\t\t\t =) =)!!!\n";
cout<<"\n DESEA SALIR S/N....";
cin>>op;
}
while ((op!='s') && (op!='S'));
return 0;
}
Saludos
hola graxias por ayudarme ..........ayudame kn algo mas xfa el programa ya me calcula el promedio de las filas y de 1 columna a la vez pero me faltan las demas columnas
como muestra la imagen------->(http://i53.tinypic.com/2lxhxl0.jpg)
aki esta la codificacion uso el turbo c
#include<iostream.h>
#include<conio.h>
int busqueda_lineal (const int [],int , int);
//declarar funcion
main()
{
char op ;
//do
{
clrscr();
int notas [30][30];
int x,i,j,fil,col;
float suma=0.0, promediofila,promediocol, columnas[30];
for(x=0; x<30; x++)
{
columnas
- = 0;
cout<<"\n *****************ARREGLOS BIDIMENSIONALES***************** \n";
cout<<"cuantas filas =>";
cin>>fil;
cout<<"cuantas columnas =>";
cin>>col;
cout<<"\ningresos de valores:\n\n" ;
for (i=0; i<fil;i++)
{
for (j=0; j<col;j++)
{
cout<<"fila["<<i<<"]"
<<"columna["<<j<<"]=>";
cin>>notas[j];
}
}
cout<<"\n .....salida de valores....\n";
for (i=0; i<fil;i++)
{
suma=0.0;
cout<<"\t"<<"\n";
for (j=0; j<col;j++)
{
cout<<"\t"<<notas[j];
suma=suma+notas[j];
columnas[j] += notas[j];
}
promediofila=suma/fil;
promediocol=suma/col;
cout<<"\t"<<promediofila <<"\n\n";
}
for(x=0; x<col; x++)
{
cout<<"\t"<<columnas- /fil;
cout<<"\n\t\t\t =) =)!!!\n";
cout<<"\n DESEA SALIR S/N....";
op=getch();}
}
}
}
xfa ayudenme con eso
En el foro existen las etiquetas [code ] [/ code]
Que son para darle mejor legibilidad al codigo porque asi la verdad complica mas, si podrias poner [ code=lenguaje][/ code]
asi se notaria mejor jeje
Ejemplo:
void main{
cin.get();cin.get();
}
Bueno ya revisando el codigo este ultimo que colocaste de hecho no comprendo como esque te corre, ya que primeramente columnas es un vector y colocas en el for columnas = 0; y deberia ser columnas[x ] = 0; bueno eso y otros errores que veo que aun no manejas muy bien, empezare a checarlo y hacer uno bien para ver como va, por ahora entiendo que es meter cuantos renglones y columnas seran
Ejemplo:
Filas = 2;
Columnas = 3;
Pero al final sera de Filas = 3 & Columnas = 4, puesto que en la ultima se mostrara la suma para cada una de esas no ?
---------------------
Edit: Ahora hice algo sencillo aunque la ultima ezquina no es llenada y queda en 0 jeje
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int fila, columna, suma;
//Preguntamos la cantidad de Filas & Columnas de la Matriz
printf("Filas: ");
scanf("%d", &fila);
printf("Columnas: ");
scanf("%d", &columna);
//Creamos la matriz sumandole 1 fila y 1 a columna puesto que en esa ultima fila y ultima columna se mostraran las sumas de las mismas
int matriz[fila+1][columna+1];
//Llenamos la matriz con datos
for(int x = 0; x < fila; x++)
{
for(int xx = 0; xx < columna; xx++)
{
cout << "Fila[" << x << "] Columna[" << xx << "]: ";
cin >> matriz[x][xx];
}
}
//Llenamos la ultima Columna de cada fila
for(int x = 0; x < fila; x++)
{
suma = 0;
for(int xx = 0; xx <= columna; xx++)
{
if(xx == columna)
matriz[x][columna] = suma;
else
suma += matriz[x][xx];
}
}
//Llenamos la ultima fila de cada columna
for(int x = 0; x < columna; x++)
{
suma = 0;
for(int xx = 0; xx <= fila; xx++)
{
if(xx == fila)
matriz[xx][x] = suma;
else
suma += matriz[xx][x];
}
}
//Mostramos la matriz
for(int x = 0; x <= fila; x++)
{
for(int xx = 0; xx <= columna; xx++)
{
cout << matriz[x][xx] << "\t";
}
cout << endl;
}
cin.get();cin.get();
}
Bueno ahi es una idea si asi no es pues aver como podria ser, o hacer las operaciones en el instante que se van mostrando
------------
Edit2:
Bueno estaba aburrido y pues lo hice de una vez jeje
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int fila, columna, suma;
//Preguntamos la cantidad de Filas & Columnas de la Matriz
printf("Filas: ");
scanf("%d", &fila);
printf("Columnas: ");
scanf("%d", &columna);
//Creamos la matriz sumandole 1 fila y 1 a columna puesto que en esa ultima fila y ultima columna se mostraran las sumas de las mismas
int matriz[fila][columna];
//Llenamos la matriz con datos
for(int x = 0; x < fila; x++)
{
for(int xx = 0; xx < columna; xx++)
{
cout << "Fila[" << x << "] Columna[" << xx << "]: ";
cin >> matriz[x][xx];
}
}
//Mostramos la matriz y calculamos promedio por fila
for(int x = 0; x < fila; x++)
{
suma = 0;
for(int xx = 0; xx <= columna; xx++)
{
if(xx == columna)
cout << (suma/columna);
else{
cout << matriz[x][xx] << "\t";
suma += matriz[x][xx];
}
}
cout << endl;
}
//Mostramos el promedio por columna
for(int x = 0; x < columna; x++)
{
suma = 0;
for(int xx = 0; xx <= fila; xx++)
{
if(xx == fila)
cout << (suma/fila) << "\t";
else
suma += matriz[xx][x];
}
}
cin.get();cin.get();
}
si brother en la fila 3 vendir a mostrar el promedio de las columnas i la olumnas 3 el promedio de las filas i si me corre el programa bro kizas diskulpame soy d 1er año i corregime k yo aprendo muxas grcias por tu ayuda !!!
Pues ya esta hecho en el ultimo codigo que te puse ahi ya anda bien o como vi el de la imagen jeje
(http://img153.imageshack.us/img153/3731/sshot3md.png) (http://imageshack.us/photo/my-images/153/sshot3md.png/)
Cita de: s00rk en 28 Septiembre 2011, 03:12 AM
------------
Edit2:
Bueno estaba aburrido y pues lo hice de una vez jeje
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int fila, columna, suma;
//Preguntamos la cantidad de Filas & Columnas de la Matriz
printf("Filas: ");
scanf("%d", &fila);
printf("Columnas: ");
scanf("%d", &columna);
//Creamos la matriz sumandole 1 fila y 1 a columna puesto que en esa ultima fila y ultima columna se mostraran las sumas de las mismas
int matriz[fila][columna];
//Llenamos la matriz con datos
for(int x = 0; x < fila; x++)
{
for(int xx = 0; xx < columna; xx++)
{
cout << "Fila[" << x << "] Columna[" << xx << "]: ";
cin >> matriz[x][xx];
}
}
//Mostramos la matriz y calculamos promedio por fila
for(int x = 0; x < fila; x++)
{
suma = 0;
for(int xx = 0; xx <= columna; xx++)
{
if(xx == columna)
cout << (suma/columna);
else{
cout << matriz[x][xx] << "\t";
suma += matriz[x][xx];
}
}
cout << endl;
}
//Mostramos el promedio por columna
for(int x = 0; x < columna; x++)
{
suma = 0;
for(int xx = 0; xx <= fila; xx++)
{
if(xx == fila)
cout << (suma/fila) << "\t";
else
suma += matriz[xx][x];
}
}
cin.get();cin.get();
}
AYUDAME CON ESTO ES Q TENGO K PRESENTARLO EN TURBO C++ 4.5 LA CODIFICACION
#include <stdlib.h>
#include <iostream.h>
main()
{
int fila, columna,x,xx;
float suma=0.0;
//Preguntamos la cantidad de Filas & Columnas de la Matriz
cout<<"Filas: ";
cin>>fila;
cout<<"COlumnas: ";
cin>>columna;
//Creamos la matriz sumandole 1 fila y 1 a columna puesto que en esa ultima fila y ultima columna se mostraran las sumas de las mismas
int matriz[fila][columna];
//Llenamos la matriz con datos
for( x = 0; x < fila; x++)
{
for( xx = 0; xx < columna; xx++)
{
cout << "Fila[" << x << "] Columna[" << xx << "]: ";
cin >> matriz[x][xx];
}
}
//Mostramos la matriz y calculamos promedio por fila
for( x = 0; x < fila; x++)
{ suma = 0;
for( xx = 0; xx <= columna; xx++) { if(xx == columna)
cout << (suma/columna);
else{
cout << matriz[x][xx] << "\t";
suma += matriz[x][xx];
}
} cout << endl;
}
//Mostramos el promedio por columna
for( x = 0; x < columna; x++)
{
suma = 0;
for( xx = 0; xx <= fila; xx++)
{
if(xx == fila)
cout << (suma/fila) << "\t";
else
suma += matriz[xx][x];
}
}
return 0;
}
me da error constant expression required in function main() en la linea int matriz[fila][columna];
diskulpa es k uso turbo c++ 4.5
Hola
Cita de: johnnyBsc17 en 28 Septiembre 2011, 06:13 AM
me da error constant expression required in function main() en la linea int matriz[fila][columna];
Ese error te da porque estás creando la matriz en tiempo de ejecución, para poder hacerlo así debes declararla al principio como int **matriz pero dudo que hayas dado punteros, así que debes crearla como lo hacías al principio dándole un tamaño: int matriz[30][30] por ejemplo
Saludos
C++ no suporta Variable Length Array (VLA)