Discussion:
Ayuda , manual [URGENTE]
(demasiado antiguo para responder)
Kenzo-Xs
2003-09-07 10:24:11 UTC
Permalink
Hola grupo

La verdad es que no soy muy asiduo a este grupo pero os querria pedir un
favor :-(

El caso es que dentro de una semana justa tengo un examen de programacion ,
y por culpa de otros examenes no la he podido preparar muchoEs un examen de
programacion `C++ , escrito (peor aun ya que no puedes probar el examen) y
la verdad es que solo se cosas basicas

la ayuda que os pido es si conoceis algun manual o web donde tenga pues eso
, algun manual del tipo (COMO PROGRAMAR EN C++ EN UNA SEMANA) o mejor aun
que creo que seria mi caso (PROGRAMACION EN C++ PARA TONTOS)

El profesor nos dio un manual , que hizo el , pero la verdad es que no me
entero , no tiene mucha concordancia , y me lio muchisimo
Damos cosas supongo que basicas , como arrays , for , vectores , matrices
ect.. , son en estas en las que meto mucho la pata , en matrices y vectores
y en el uso de for y sus derivados

Os pongo por aki posteado los ultimos examenes para que mas o menos sepais
lo que damos:

Muuuuchisiiimas gracias y un saludo


INICIO_______________________________________-


1. Completar el siguiente programa para que calcule en v2, los valores
acumulados de Vl0 + ... + Vli,. El vector V1 no debe ser modificado. El
resultado

que debe mostrar (para el vector de ejemplo) es:

v1: 2 3 0 5 7
v2: 2 5 5 10 17


#include <stdio.h>

int v1[]={2,3,0,5,7};
int v2[51;
int i;

void main {

printf ("v1: ");
for (i=0;i<5;i++)
printf ("%2i ",v1[i]);
printf ("\n") ;

v2 [0] =v1[0];

...................

printf("v2: ");
for (i=0;i<5;i++)
printf ("%2i ",v2[i]);

printf("\n");

}

____________________________________________________________________

2. Dado el siguiente programa

#include <stdio.h>

int n,p;

void main() {

scanf("%i",&n);

for(p=1;p<1000;p=p*n)
if (p>500) printf("%i ",p);
printf("%i ",p);

Que resultado escribe para los valores de n siguientes:

n=2 , n=5 , n=6

____________________________________________________________________

3. Escribe un programa que lea el numero de mes (1 a 12) e indique el numero
de días del mes. Deber tener en cuenta si el año es bisiesto. Un año es

bisiesto cuando es divisible por 4 y no por 100. o bien es divisible por
400.
Los meses de 30 dial son abril, junio, septiembre y noviembre.

_____________________________________________________________________

4. Complete el siguiente programa que extrae una submatriz de otra. La parte
que falta debe calcular el numero de filas y de columnas de b (fb y cb) y

copiar a la matriz b la parte indicada de a. Se supone que la esquina
superior izquierda tiene las coordenadas 0.0.


#include "stdio.h"
#include "conio.h"

#define OMAX 8
int A [OMAX] [OMAX] , B [OMAX] [OMAX] ;
int f,c,fa,ca,fl,f2,c1,c2,fb,cb;

void main(void)

clrscr() ;
printf("Dame las filas y columnas de la matriz A ");
scanf("%d%d",&fa,&ca);
if (fa>OMAX 11 ca>OMAX) {
printf("Las dimensiones maximas son %d x %d\n",OMAX,OMAX);
exit(1);
}

clrscr();
printf("Dame la matriz A");
for (f=O;f<fa;f++)
for (c=O;c<ca;c++) {
gotoxy(3+c*5,3+f);
scanf ("%i" , &A [f] [c]) ;
}


printf("Dame las esquinas sup. izq e inf. der. de la submatriz
scanf("%d%d%d%d",&fi,&cl,&f2,&c2);



.......................................................




printf("\n\nMatriz B\n\n");
for (f=0;f<fb;f++) {
for (c=O;c<cb;c++)
printf (" %4i" , B [f] [c]) ;
printf("\n");


Ejemplo

Dame la matriz A
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16

Dame las esquinas sup. izq e inf. der. de la submatriz 1 1 2 3
Matriz B
6 7 8
10 11 12

___________________________________________________

1. Dado el siguiente programa

#include <stdio.h>
#define MAX 1000

int v1 [MAX] , v2 [MAX]
int i,j;

void main() {

for (i=0;i<MAX;i++)
vi[i]=-(i);

for (i=0;i<MAX;i++)
v2[i]=i+i;

/*
for (i=300;i<=309;i=i+1)
printf("%5i",v2[i]);
printf("\n");
*/

j=100;
for (i=301;i<=305;i=i+2,j=j-1)
v2 [i] =v1 [2*j] ;

v2 [i]=v1 [2*j];

for (i=300;1<=309;i=i+1) printf("%5i",v2[i]);

}


Que resultado escribe:

i 300 301 302 303 304 303 307 308 309
v2(i) ? ? ? ? ? ? ? ? ?

___________________________________________________

2. Dado el siguiente programa

#include <stdio.h>
#define MAX 4

int m [MAX] [MAX] ;
int f, c;

void main (){

for (f=0;f<MAX;f++)
for (c=0;c<MAX;c++) {
gotoxy(1+5*c,1+f);
scanf("%i",&m[f] [c]);
}


for (f=0;f<MAX;f++)
for (c=0;c<MAX;c++) {
íf (m[f] [c]==0) break;
m[f] [c]=m[f] [cJ+2;
}

for (f=0;f<MAX;f++) {
for (c=0;c<MAX;c++)
printf ("Y4i" ,m[f] [c]) ;
printf ("\n") ;
}
}

Que resultado escribe si los datos tecleados en la matriz son

-2 5 3 1
2 4 0 3
0 3 2 0
1 1 4 3

? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?

_______________________________________________


3. ¿Es totalmente correcta la siguiente función de C ? Razona la respuesta.

void divide (int a, int b) {
float c;
c = (float) a / b;
return c;
}

________________________________________________

4. Escribe un programa que calcule el factorial de un mumeros entero mauyor
que cero medinte una funcion que reciba como parametro el numero (int)

y devuelba el factorial (unsigned long int) . No se consideraran posbles
errores

ej de ejecucion:

Teclea un numero: 5
Su factorial es 120

__________________________________________________

Completar la siguiente funcionque devueve la posicion del valor maximo de un
array.En el caso de haber varios elementos de maximo valor , debera

devolver la posicion del ultimo de ellos:


int maximo (float vector[], int numcomp) {
int pmax;
int i;

pmax=0;
for (?????????????????????)
if ???????????????????

return pmax;
}

________________________________________________


Dado el siguiente programa que debe decir si un nuunero entero (mayor que 0)
es primo o no, decir para cada conjunto de sentencias si es correcto o

no. (Los fallos restan)

#include "stdio.h"

long numero,divisor,r;

void main () {

printf("\n\n Numero
scanfC%li",&numero);

(a)

r=numero % 2;
r++;
if (r == 0) printf("no es primo");
else printf("es primo");

(b)

divisor=2;
r=numero % divisor;
while(r>0) {
printf("no es primo");
}

printf("es primo");

(c)

for (divisor=2;divisor<numero;divisor++) {
if (numero % divisor == 0) printf("no es primo");
else printf("es primo");
}

(d)

divisor=2;
while(divisor<numero) {
if (numero % divisor == 0) break; divisor++;
}

if (divisor == numero) printf("es primo");
else printf("no es primo");

_____________________________________________________


1. Dado el siguiente programa di que resultado escribe:

#include <stdio.h>

int s,i,j;
int n=3;

void main() {

s=0;
for (i=1;i<n;i++) {
for (j=4;j>0;j--)
s=s+i*j;
n=n-j;
}

printf('%i",s);

}

___________________________________

2. Competa el siguiente programa para que copie en las posiciones 1, 3,
5.... del vector v2 los elementos 0,1,2.... del vector v.

#include <stdio.h>
#include <stdlib.h>

#define MAX 300

int v[MAX],v2[2*MAX];
int i,j;

void main() {

for (i=0;i<MAX;i++)
v[i]=random(100);

????????????????????

______________________________________

3. Completa el siguiente programa que calcula la suma de los elementos del
triangulo superior e inferior de una matriz. Ambos triangulos incluyen la

diagonal principal.

#include "stdio.h"
#include "conio.ir"

#define ORDEN 12 /* orden maximo de la matriz */
int A [ORDEN] [ORDEN];
int f,c, /* indices de filas y columnas */
ord; /* orden real */

long t1,t2;

main() {
clrscr();

printf("Dame el orden de la matriz (max %i) : ",ORDEN);
scanf("%i",&ord);

clrscr();
printf("Matriz :\n");
for(f=0;f<ord;f++) {
for (c=0;c<ord;c++) {
gotoxy((c+1)*7,f*2+3);
scanf (" %i" &A [f] [c]) ;




??????????????????????????????






printf("\nSuma del triangulo superior %li\n",t1);
printf("\nSuma del triangulo inferior %li\n",t2);
}

_______________________________________________-

los desarollos de una bicicleta se refiere a la relación entre el n° de
dientes del plato y el de la corona. Así, un plato de 52 dientes con una
corona de 15

tiene un desarrollo de 52/15=3.47 vueltas de rueda por cada vuelta de los
pedales. El siguiente programa calcula todos los desarrollos de una
bicicleta,

tal como se ve en el ejemplo, preguntando primero el numero de platos y
coronas y los dientes de cada plato y corona. El nº máximo de platos es 3 y
el

de coronas es 9. Indicar para cada. grupo de sentencias si completan de
forma correcta el programa.

Numero de platos (max 3): 2
Numero de coronas (max 9): 3
Dame los platos : 52 39
Dame las coronas :18 15 13
Los desarrollos son:
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Plato 52 x Corona 13 = 4.00
Plato 52 x Corona 15 = 3.47
Plato 52 x Corona 18 = 2.89
Plato 39 x Corona 13 = 3.00
Plato 39 x Corona 15 = 2.60
Plato 39 x Corona 18 = 2.17
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::


#include <stdio.h>
#define MAXPLA 3
#define MAXCOR 9

int platos[MAXPLA],coronas[MAXCOR];
int nplatos,ncoronas,i,p,c;
float des;

void main () {
printf("Numero de platos (max %i): ",MAXPLA);
scanf("Si",&nplatos);
printf("Numero de coronas (max %i): ",MAXCOR);
scanf("%i",&ncoronas);
printf("Dame los platos : ");
for (i=O;i<nplatos;i++) scanf("%i",&platos[i]);
printf("Dame las coronas : ");
for (i=0;i<ncoronas;l++) scanf("%i",&coronas[i]);
printf("Los desarrollos son :\n");

(a)

for (p=0;p<nplatos;p++) {
platos=platos[p];
}
for (c=ncoronas-l;c>=0;c--) {
coronas=coronas[c];
des = (float) platos/coronas;
printf("Plato X2i x Corona /.2i = 1.4.21 \n",platos[p],coronas[cl des);


(b)

for (p=0;p<nplatos;p++) {
for (c=ncoronas-1;c>=0;c--) {
des = (float) platos[p]/coronas[c];
}
printf("Plato %2i x Corona %2i - %4.2f \n",platos[p],coronas[c],des);
}


(c)

for (p=0,c=ncoronas;p<nplatos && c<ncoronas;p++,c++)
des = (float) platos[p]/coronas[c];
printf("Plato %2i x Corona %2i =%4.2f \n",platos[p],coronas[c],des);
}

(d)

for (p=0;p<nplatos;p++)
for (c=ncoronas-1;c>=0;c--) {
des = (float) platos[p]/coronas[c];
printf("Plato %2i x Corona 7.21 = 7.4.2f \n",platos[p],coronas[c],
des);
}

FIN _____________________________________________________-
Flint
2003-09-07 15:30:54 UTC
Permalink
Post by Kenzo-Xs
Hola grupo
La verdad es que no soy muy asiduo a este grupo pero os querria pedir un
favor :-(
El caso es que dentro de una semana justa tengo un examen de programacion ,
y por culpa de otros examenes no la he podido preparar muchoEs un examen de
programacion `C++ , escrito (peor aun ya que no puedes probar el examen) y
la verdad es que solo se cosas basicas
Hola, Kenzo. Te comento dos cosas:

1. Los ejemplos que has puesto son de c, no de c++

2. Te paso algún enlace.
http://www.geocities.com/isaweb_es/pr.htm
http://www.abcdatos.com/tutoriales/programacion/c.html
http://webpages.ull.es/users/fsande/talf/cursoc/


Y un sitio con mucha información sobre C
http://www.elrincondelc.com/index.php

Suerte


Un saludo
Flint
Kenzo-Xs
2003-09-07 15:40:43 UTC
Permalink
Si , tienes razon , es que mira que estoy verde ;-)))

Muchas gracias voy mirar
Post by Flint
Post by Kenzo-Xs
Hola grupo
La verdad es que no soy muy asiduo a este grupo pero os querria pedir un
favor :-(
El caso es que dentro de una semana justa tengo un examen de programacion ,
y por culpa de otros examenes no la he podido preparar muchoEs un examen de
programacion `C++ , escrito (peor aun ya que no puedes probar el examen) y
la verdad es que solo se cosas basicas
1. Los ejemplos que has puesto son de c, no de c++
2. Te paso algún enlace.
http://www.geocities.com/isaweb_es/pr.htm
http://www.abcdatos.com/tutoriales/programacion/c.html
http://webpages.ull.es/users/fsande/talf/cursoc/
Y un sitio con mucha información sobre C
http://www.elrincondelc.com/index.php
Suerte
Un saludo
Flint
Carlos P.C.
2003-09-13 16:44:20 UTC
Permalink
Por cierto, probastes ->
http://www.google.com/search?hl=en&ie=UTF-8&oe=UTF-8&q=lenguaje+c&btnG=
Google+Search

Si aún sigues buscando algún manual para aprender c en una semana...
webpages.ull.es/users/fsande/talf/cursoc/ Aunque te aconsejo que intentes
tomartelo con más calma..., puedes "aprender" c pero es dificil que
apruebes el examen con tantas prisas...
Bueno, de todas formas mucha suerte ;-)

Loading...