Editor non funziona sul server

Salve, ho provato a risolvere il problema Text Editor (editor). In locale sembra funzionare con ogni test, ma sul server ho un comportamento anomalo. Potreste controllare? Grazie

Salve, senza codice è difficile aiutarti. L’esercizio sul cms funziona correttamente. Gli errori più banali sono:

  1. Variabili non inizializzate.
  2. Leggere e scrivere sia da file che stdin e stdout
  3. Logica non corretta

Se hai intenzione di postare il codice descrivi la soluzione, cosi sarà più facile darti una mano.

ecco il codice…grazie mille

#include <assert.h>
#include <stdio.h>
#include <ctype.h>
#define MAXN 1000000

using namespace std;
// input data
int N=0, i=0;
char V[MAXN];

int main() {
	freopen("input.txt","r",stdin);
	//freopen("output.txt","w",stdout);
  	assert(1 == scanf("%d", &N));
  	for (i = 0; i < N; i++) assert(1 == scanf(" %c", &V[i]));

    bool italic[N]={false};
    bool bold[N]={false};
    for (int i = 0; i < N; i++){  
        bold[i] = isupper(V[i]);
        if (V[i] == 'I' || V[i] == 'i')
            italic[i] = 1;
        else
            italic[i] = 0;
    }    	
int b=0,it=0;    
int step=0;
//printf("\n\n");
for (int i = 0; i < N; i++){  

        if(!bold[i])
        	b=0;
        else if(bold[i])
        	b++;
      	if(!bold[i+1]&&b>0)
        	step++;
    }

for (int i = 0; i < N; i++){  
        if(!italic[i])
        	it=0;
        else if(italic[i])
        	it++;
     	if(!italic[i+1]&&it>0)
        		step++;

    }
  printf("%d\n", step);
  return 0;
}

Ciao!
Gli array bold ed italic sono dichiarati localmente, questo non garantisce che tutti i valori siano inizializzati a false (metterli uguali a {false} equivale ad inizializzare solo la cella 0), inoltre dovresti alzare di poco MAXN, visto che in if(!bold[i+1]&&b>0) i+1 può valere 1000000.
Spero di essere stato utile :wink:

2 Mi Piace

Grazie mille
Ho risolto

1 Mi Piace