Программа не будет ничего показывать при запуске, только значение «0» - PullRequest
0 голосов
/ 30 марта 2019

Должно отображаться на экране в следующем порядке:

  • четные числа на нечетных позициях;
  • числа с первой цифрой, равной последней (для чего я сделал "bool cifre (int x)");
  • в файле "g" должно отображаться последнее выполненное мной действие между максимальным и минимальным значением вектора.

Я запускаю его, и он просто показывает «0» на экране и больше ничего. ПОЖАЛУЙСТА ПОМОГИ!

 #include <iostream>
 #include <fstream>
 #include <math.h>

 using namespace std;
 int n , v[101] , i , a , u , p , gasit=0 ;

 bool cifre( int x )
 {
 a = x ;
 u = x%10 ;
 while ( x!=0 )
{ 
    p = x%10 ;
    x = x/10 ;
}
if( p == u )
    return true ;
}

int main()

{
 ifstream f ( "atestat.in" ) ;
 ofstream g ( "atestat.out" ) ;
 for( i=1 ; i<=n ; i++ )
    {
      f >> v[i] ;
      if( v[i]%2 == 0 && i%2 != 0 )
        cout << v[i] ;
    }
  int min=v[n] ;
  int max=v[1] ;
  for( i=1 ; i<=n ; i++ )
    if ( cifre( v[i] ) == true )
       {
          cout << v[i] << " " ;
          gasit++ ;
        }

  if ( gasit==0 )
    cout << "NU EXISTA" ;
  cout << endl ;
  for( i=1 ; i<=n ; i++ )
    {
      if ( v[i] > max )
        max = v[i] ;
      if ( v[i] < min )
        min = v[i] ;
    }
   cout << ( max + min ) /. 2 ;
   f.close() ;
   g.close() ;
   return 0 ;
 }

1 Ответ

1 голос
/ 30 марта 2019

Вы начинаете цикл for до n, но вы еще не дали ему значение.

n=3; // example
for( i=1 ; i<=n ; i++ )
...