Страница 1 из 1

Собрать две маленькие программки в одну!!!)))

Добавлено: 11 май 2010, 14:01
|| Flashka ||
Всем привет!! )) У меня вот есть две программки, нужно их собрать в одну..

Вот эта выводит список файлов в указанной директории и сортирует по названию...

Код: Выделить всё

#include <stdafx.h>
#include <windows.h>
#include <string.h>
#include <iostream>
//#include <vcl.h>
#include <conio.h>
using namespace std;
#define len 100
void main()
{
  char dir[256];
  char temp[256];
  char **mass;
  int kol=-2,i,j,max;
  WIN32_FIND_DATA FindData;
  HANDLE MyFile;

  cout << "\bInput directory: ";
  cin >> dir;
  if(!SetCurrentDirectory(dir))
  {
    cout << "\nNe ydayetsya nayti directoriyu.";
    getch();
    return;
  }
  MyFile = FindFirstFile ("*.*", &FindData);
  if (MyFile != INVALID_HANDLE_VALUE)
  {
    do
    {
       kol++;
    }
    while (FindNextFile (MyFile, &FindData));
    FindClose (MyFile);
  }
  mass = new char* [kol];
  for(i=0;i<kol;i++)
    mass[i] = new char [255];
  i=0;
  MyFile = FindFirstFile ("*.*", &FindData);
  FindNextFile (MyFile, &FindData);
  FindNextFile (MyFile, &FindData);
  do
  {
     strcpy(mass[i],FindData.cFileName);
     i++;
  }
  while (FindNextFile (MyFile, &FindData));
  FindClose (MyFile);

for (int k=0;k<kol;k++)
 {
 for(int u=0;u<kol;u++)
 if(strcmp(mass[k],mass[u])<0)
   {
   strcpy(temp,mass[k]);
   strcpy(mass[k],mass[u]);
   strcpy(mass[u],temp);
   }
 }


  cout << endl;
  for(i=0;i<kol;i++)
    cout <<mass[i]<<endl;
  getch();
  for(i=0;i<kol;i++)
    delete []mass[i];
  delete []mass;
}
И вот вторая - находит наиболее встречающийся символ в названии, выводит его и его процентное содержание...

Код: Выделить всё

int CalculationSymbols()
{
  char s[len];
  fgets( s, len, stdin ); 
  int p[256];
  int i, num;
  for (i = 0; i< 256; i++) p[i] = 0;
  for (i = 0; i < strlen(s); i++)
    p[int(s[i])]++;
 
  int max = 0;
  for (i = 0; i < 256; i++)
    if (p[i]>max)
    {
      max = p[i];
      num = i;
    }
  printf("Буква: %S\n\n", num);
  double res;
  double rez;
  res=strlen(s);
  rez=(max*100)/res;
  printf("Процентное содержание: %f\n\n", rez);
  getchar();
  return 0;
}
Помогите пожалуйста!!! ))) Очень надо!!!

Re: Собрать две маленькие программки в одну!!!)))

Добавлено: 11 май 2010, 15:20
|| Flashka ||
Неужели никто не может помочь!!!!!!! ПОЖАЛУЙСТА!!!!!(((

Re: Собрать две маленькие программки в одну!!!)))

Добавлено: 11 май 2010, 16:07
BulldozerBSG
Ну две программы это хорошо, а что именно не получается? Если просишь сделать за тебя, то это не в этот раздел...

Re: Собрать две маленькие программки в одну!!!)))

Добавлено: 11 май 2010, 16:11
|| Flashka ||
А куда?? Если надо заплачу, лишь бы сделали сегодня ночью например!!!! ОЧЕНЬ НАДО МНЕ ЕЕ!!!

Re: Собрать две маленькие программки в одну!!!)))

Добавлено: 11 май 2010, 19:01
BulldozerBSG
Можно попробовать здесь в разделе "Работа"

Ну что же очередная медвежья услуга...

Код: Выделить всё

#include <windows.h>
#include <string.h>
#include <iostream>
#include <conio.h>

using namespace std;

//#define len 100
void main()
{
	char dir[256];
	char temp[256];
	char **mass;
	int kol = -2,i,j,max;
	WIN32_FIND_DATA FindData;
	HANDLE MyFile;

	cout << "\bInput directory: ";
	cin >> dir;
	if(!SetCurrentDirectory(dir))
	{
		cout << "\nNe ydayetsya nayti directoriyu.";
		getch();
		return;
	}
	MyFile = FindFirstFile ("*.*", &FindData);
	if (MyFile != INVALID_HANDLE_VALUE)
	{
		do
		{
			kol++;
		}
		while (FindNextFile (MyFile, &FindData));
		FindClose (MyFile);
	}
	mass = new char* [kol];
	for(i=0;i<kol;i++)
		mass[i] = new char [255];
	i=0;
	MyFile = FindFirstFile ("*.*", &FindData);
	FindNextFile (MyFile, &FindData);
	FindNextFile (MyFile, &FindData);
	do
	{
		strcpy(mass[i],FindData.cFileName);
		i++;
	}
	while (FindNextFile (MyFile, &FindData));
	FindClose (MyFile);

	for (int k=0;k<kol;k++)
	{
		for(int u=0;u<kol;u++)
			if(strcmp(mass[k],mass[u])<0)
			{
				strcpy(temp,mass[k]);
				strcpy(mass[k],mass[u]);
				strcpy(mass[u],temp);
			}
	}


	cout << endl;
	for(i=0; i < kol; i++)
	{
		char s[256];
		strcpy( s, mass[i]);
		int p[256];
		int _i, num;
		for (_i = 0; _i < 256; _i++) 
			p[_i] = 0;
		for (_i = 0; _i < strlen(s); _i++)
			p[int(s[_i])]++;

		int max = 0;
		for (_i = 0; _i < 256; _i++)
			if (p[_i] > max)
			{
				max = p[_i];
				num = _i;
			}
		printf("File: %s; ", mass[i]);
		printf("Char: %c; ", num);
		double res;
		double rez;
		res = strlen(s);
		rez = (max*100)/res;
		printf("%f\n", rez);
	}
	getch();
	for(i=0;i<kol;i++)
	delete []mass[i];
	delete []mass;
}

Re: Собрать две маленькие программки в одну!!!)))

Добавлено: 11 май 2010, 19:09
Romeo
Могу перенести в раздел "Решите мне задачку". Переносить или кто-то из постоянных читателей данного раздела уже и так связался с человеком?

Re: Собрать две маленькие программки в одну!!!)))

Добавлено: 11 май 2010, 19:10
|| Flashka ||
Спасибо большое!!! )) Очень-очень-очень благодарна!!!! ))) В следущий раз буду именно в том разделе писать!!!! )))))) :D :D :D

Re: Собрать две маленькие программки в одну!!!)))

Добавлено: 11 май 2010, 23:09
Romeo
Ещё раз подчёркиваю, этот раздел не для тем "Сделайте мне задачку". Следующий раз просто удалю тему.