Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
/*Scrivere un programma C++ che acquisisce da tastiera un numero intero
positivo n<=50 e successivamente le componenti reali
u1,u2,....,un
di un vettore u e ne determina un k-riordinamento ciclico delle componenti
(k intero), cioè il vettore v ottenuto da u traslando tutte le componenti di |k|
posti verso destra o sinistra a seconda del segno di k (gli elementi che escono
da un lato rientrano dall'altro); infine il programma deve scrivere il vettore v
sul video*/
#include <stdio.h>
#include <stdlib.h>
main()
{
int n,i,k;float u[50],v[50];
printf("\n\ninserisci un numero intero positivo n=");
scanf("%d",&n);
if(n>50)return0;
for(i=0;i<n;i++)
{printf("\n dammi la componente numero");
printf(" %d del vettore u ",i+1);
scanf("%f",&u[i]);}
printf("\n\nil vettore u ottenuto e':");
for(i=0;i<n;i++)
{printf("\n %f",u[i]);}
printf("\n\ninserisci il valore k:");
scanf("%d",&k);
printf("\n\n il vettore v ottenuto e':");
for(i=0;i<n;i++)
{
if(i+k<n)
printf("\n\n%f",u[i+k]);
else
printf("\n\n%f",u[i+k-n]);
}
system("PAUSE");return0;
}
Alla fine il programma dovrebbe scrivere sul video (come dice la prof.), per esempio:
Se u=12489
per k=-1 si ha v=24891
per k=+2 si ha v=89124
invece a me esce:
per k=+2 esce v=48912
per k=-1 esce v=01248
Dov'è che il codice è sbagliato?
grazie a tutti coloro che mi aiuteranno..
EDIT by HeDo: Ricordati di racchiudere il codice tra i tag code, così lo rendi più leggibile. Per questa volta l'ho fatto io, ma dalla prossima presta più attenzione.
Ultima modifica effettuata da HeDo il 01/11/2009 alle 13:25