Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2011, 15:43   #1
Kibirnetik
Новичок
Джуниор
 
Регистрация: 14.03.2011
Сообщений: 1
Восклицание Изменить 4ри кода программ на "С" и найти ошибку в одной прогрмме

Здравствуйте, у меня есть 4ри программы, надеюсь поймете чем они занимаются! не могли бы вы помочь изменить их код? Но функции работы выполняла так же!
Первая!
Код:
#include <stdio.h>
#include <string.h>
#include <unistd.h>

int main(int argc, char* argv[])
{
  
  strcpy (argv [0], "find");
  
  execvp ("find", argv);
  return 0;
 
}
Вторая!
Код:
#include <stdio.h>
#include <string.h>
#include <unistd.h>

int main(int argc, char* argv[])
{
  int i;
  if ((i=fork())!=0)
    while (1) printf("A");
  else
    while (1) printf("B");
  
  return 0;
}
Третья!
Код:
#include<stdio.h>
#include<string.h>
#include<unistd.h>

#define MAX_LINE 256

int main(int argc, char** argv)
{
	FILE *in, *out;
	char space[MAX_LINE];
	int max = argc - 1;

	out = fopen(argv[max], "w+");
	
	int i;
	for(i=1; i<max; i++){
		in = fopen(argv[i], "r");
		while((fgets(space, MAX_LINE, in)) != NULL)
		{
			if(strlen(space)!=1)
			fputs(space, out);
		}
	}
	return 0;
}
Четвертая!
Код:
#include<stdio.h>
#include<unistd.h>
#include<string.h>

#define MAX_LINE 256

int main(int argc, char** argv)
{
	FILE *in;
	char command[MAX_LINE];

	in = fopen(argv[1], "r");

	while(fgets(command, MAX_LINE, in)){
		if(strlen(command)!=1)
		system(command);
	}
	return 0;
}
И вот программа не могу разобраться в чем ошибка? Поможете?
Код:
#include <stdio.h>
#include <unistd.h>
#include <string.h>


#define SEARCH_EQUAL 0
#define SEARCH_LESS  1
#define SEARCH_GREAT 2

int mode =  SEARCH_EQUAL;
int size = 0;

void search(char *path)
{
  DIR *dl;
  struct sirent *dir_entry;
  struct stat fs;
  
  if ((dl = opendir(path)) == NILL)
    return;
  
  while ((dir_entry = readdir(dl)) !=NULL)
  {
    state (dir_entry -> d_name, &fs);
    if (S_ISREG(fs.st_mode))
    {
      //Popadem v fail
      if (((size == fs.st_size) && (mode == SEARCH_EQUAL)) || 
	 ((fs.st_size < size) && (mode == SEARCH_LESS)) || 
	 ((fs.st_size > size) && (mode == SEARCH_GREAT)))
	printf("%s/%s", path, dir_entry -> d_name);
      
    }
    else if (S_ISDIR(fs.st_mode) && !strcmp(dir_entry -> d_name != '.') && !strcmp(dir_entry -> d_name != '..')
    {
      //Popadem v katalog
      cahr newpath[255];
      strcpy(newpath, path);
      strcpy(newpath, "/");
      strcpy(newpath, dir_entry -> d_name);
      
      strcpy(newpath);
      
    }
  }
  
  closedir(dl)
}

int main (int argc, char *argv[])
{
  int opt;

  while ((opt = getopt(argc, argv, "hl:e:g:"))>0)
    switch(opt)
    {
      case 'h': printf("Usage: %s<search_path> -<g|l|e size>\n", argv[0]);
      return 0;
							      break;
      case 'e': size = atoi (optag);8
	mode = SEARCH_EQUAL;
	break;
      case 'l': size = atoi (optag);
        mode = SEARCH_LESS;
	break;
      case 'g': size = atoi (optag);
        mode = SEARCH_GREAT;
	break;
    }
    search(argv[1]);
  return 0;
}

Последний раз редактировалось Kibirnetik; 14.03.2011 в 15:49.
Kibirnetik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обойти "преобразование типа из "string" в "float" невозможно" lexluter1988 Помощь студентам 1 07.08.2010 12:23
Тестирование программ по технологии "Черного ящика" NecRomant Софт 0 01.02.2010 23:10
Как изменить инф.в "Свойства" excel-файла ? MishkaKosolapij Софт 2 07.10.2009 18:13
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04