Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    29

    aiutino per piccolo programmino in c

    qualcuno potrebbe essere così gentile da dirmi dov'è l'errore???

    //esercizio Capitolo 5 n°5 del testo "Programmare in C" della McGraw-Hill

    //data la seguente assegnazione esercizio="1234567890abcdefghilmnopqrstuvzABCDEFGH ILMNOPQRSTUVZ";
    //spostare i caratteri numerici dopo le lettere minuscole e prima delle lettere maiuscole, in modo che
    //la stringa assuma il valore "abcdefghilmnopqrstuvz1234567890ABCDEFGHILMNOPQRST UVZ" senza utilizzare
    //costanti che identificano la posizione dei caratteri, ma reperire dinamicamente tali posizioni, in modo
    //che il programma abbia una valenza più generale.

    #include <stdio.h>
    #include <string.h>

    char esercizio[100]="1234567890abcdefghilmnopqrstuvzABCDEFGHILMNOPQRS TUVZ";
    char app;
    int i,j;

    main()
    {
    for (i=0,j=i+1; (((esercizio[i]>='1') && (esercizio[i]<='9'))
    && ((esercizio[j]>='a') && (esercizio[j]<='z'))
    && (esercizio[i]!='\0')); i++,j++)
    {
    app=esercizio[i];
    esercizio[i]=esercizio[j];
    esercizio[j]=app;
    }



    //visualizza la stringa risultante
    printf("\nLa stringha adesso ha questa forma :\n\n%s\n\n",esercizio);
    scanf("%d",i);

    }

  2. #2
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    #include <ctype.h>
    #include <string.h>
    
    int main()
    {
        int i, j, len;
        char tmp, s[53]="0123456789abcdefghilmnopqrstuvzABCDEFGHILMNOPQRSTUVZ"; // colpa della formattazione (non lasciare lo spazio prima dello ZERO) :)
    
        len = strlen(s);
           
        for(i=0; i<len-1; i++)
    			
            for(j=i+1; j<len; j++)
                
    	    if(isalpha(s[j]) && islower(s[j])){
    		    
    	        tmp = s[j];
    		s[j] = s[i];
    		s[i] = tmp;
    
    	    }
    	
        for(i=0; i<len-1; i++)
    			
            for(j=i+1; j<len; j++)
                
    	    if(isalpha(s[j]) && islower(s[j]) && isalpha(s[i]) && islower(s[i])){
    		    
    	        tmp = s[j];
    		s[j] = s[i];
    		s[i] = tmp;
    
    	   }
    		
        printf("%s\n", s);
        system("PAUSE");
        return 0;
    }
    ...Terrible warlords, good warlords, and an english song

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.