-Поиск по дневнику

Поиск сообщений в Gf_ab

 -Подписка по e-mail

 

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 23.10.2008
Записей: 7
Комментариев: 1
Написано: 37


+1

Вторник, 17 Марта 2009 г. 23:59 + в цитатник
#include "stdafx.h"
#include

void ins(int);
void del();
int stk[20],N,num_add,num_iadd,num_del,num_idel,i;

int main()
{
FILE* out; // входной файл
FILE* in; //выходной файл

int x,el;



out = fopen( "output.txt", "wt" );//Создание выходного файла
if ( out == NULL ) {printf( "Bad output\n" ); getchar(); return 1;}

in = fopen( "input.txt", "rt");//Открытие входного файла
if ( in == NULL ) {printf( "Bad input\n" ); getchar(); return 1;}

if (fscanf(in,"%d", &N)==NULL){fprintf(out,"Bad input(No N)\n"); return 1;};
if (N < 1) { fprintf(out,"Bad input(N<1)\n"); return 1; } //Считываем число элементов
i=0;
do
{
if (fscanf(in,"%d", &x)==NULL){fprintf(out,"Bad input(wrong data)\n"); return 1;};
if (x!=0 && x!=1 && x!=2){ fprintf(out,"Bad input(wrong data)\n"); return 1;}
switch(x)
{
case 1:if (fscanf(in,"%d", &el)==NULL){fprintf(out,"Bad input(wrong data)\n"); return 1;};ins(el); break;
case 2:del(); break;
}


}
while (x!=0 &&(!feof( in )));
fprintf(out,"ВЫПОЛНЕНО %d ОПЕРАЦИЙ ВКЛЮЧЕНИЯ В СТЕК\n", num_add);
fprintf(out,"ПРОИГНОРИРОВАНО %d ОПЕРАЦИЙ ВКЛЮЧЕНИЯ В СТЕК\n", num_iadd);
fprintf(out,"ВЫПОЛНЕНО %d ОПЕРАЦИЙ ИСКЛЮЧЕНИЯ ИЗ СТЕКА\n", num_del);
fprintf(out,"ПРОИГНОРИРОВАНО %d ОПЕРАЦИЙ ИСКЛЮЧЕНИЯ ИЗ СТЕКА\n", num_idel);
fprintf(out,"УКАЗАТЕЛЬ СТЕКА %d\n", i);
i=0;
while (i!=N)
{
i++;
fprintf(out,"%d\n", stk[i]);

};
fclose( out ); // закрыть файл
return 0;
}
void ins(int cont)
{

if (i/и стек не заполнен
{
i++; //увеличиваем текущий размер
stk[i]=cont; //заполняем
num_add++; //считаем количесво успешных добавлений
}
else //если стек уже полон,
{
num_iadd++; //ничего не делаем, только считаем количесвто неудачных добавлений
}
return;
};
void del()
{
if (i!=0) //и стек не пустой
{
stk[i]=0; //удаляем элемент
i--; //уменьшаем размер, а заодно и указатель стека
num_del++; //считаем удачные исключения
}
else // пустой стек
{
num_idel++; //считаем неудачные исключения
}
return;
}

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку