- 70
- 2
- CPU
- intel core i5-2310m
- HDD
- 1TB Western digital 5400rpm
- RAM
- 8gb ddr3
- GPU
- amd ati 7310m
- Monitor
- samsung E2220
- OS
- Windows 7; ubuntu 14.04; Kali linux; debian 7
Sto facendo alcuni "semplici" esercizi in vista degli esami.
Questo è il testo dell'esercizio:
Questo è quello che ho scritto fin'ora:
Ora quel che mi manca è la sostituzione dei caratteri che non sono lettere con i numeri da 0 a 9.
Aiuti, suggerimenti, consigli?
Questo è il testo dell'esercizio:
Scrivere un programma che, letti da input un intero N e un array di N caratteri, sostituisce ogni lettera dell'alfabeto inglese minuscola con la rispettiva maiuscola, e viceversa, ogni maiuscola con la rispettiva minuscola. Inoltre, sostituisce ogni carattere che non è una lettera dell'alfabeto con un carattere tra 0,1,2,3,4,5,6,7,8,9, partendo da 0, a rotazione.
Ad esempio, se N fosse pari a 15 e l’array contenesse i caratteri a % 6 & ! = A ; Z z 7 8 9 0 1
il programma dovrebbe stampare A 0 1 2 3 4 a 5 z Z 6 7 8 9 0
Ad esempio, se N fosse pari a 15 e l’array contenesse i caratteri a % 6 & ! = A ; Z z 7 8 9 0 1
il programma dovrebbe stampare A 0 1 2 3 4 a 5 z Z 6 7 8 9 0
Questo è quello che ho scritto fin'ora:
Codice:
#include <iostream>
#include <cctype>
using namespace std;
void leggi (char *A, int dim)
{
for(unsigned i=0; i<dim; i++)
cin>>A[i];
}
char sostituisci(char *A, int dim)
{
char c;
for(unsigned i=0; i<dim; i++)
{
if(A[i]>='A' && A[i]<='Z')
A[i]=(tolower(A[i]));
else if (A[i]>='a' && A[i]<='z')
A[i]=(toupper(A[i]));
else if(!isalpha(A[i]))
//A[i]=???????
}
return A[dim];
}
void stampa(char *A, int dim)
{
for(unsigned i=0; i<dim; i++)
cout<<"|"<<A[i]<<"| ";
}
int main()
{
int n;
cin>>n;
char *a=new char[n];
leggi(a, n);
sostituisci(a, n);
stampa(a, n);
return 0;
}
Ora quel che mi manca è la sostituzione dei caratteri che non sono lettere con i numeri da 0 a 9.
Aiuti, suggerimenti, consigli?