Форум программистов, компьютерный форум CyberForum.ru

Заменить числа числительными - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Русификатор С++ http://www.cyberforum.ru/cpp-beginners/thread18821.html
Слышал есть русификатор на С++, хотелось бы к 6 версии, но если нет то можно к любой.
C++ Алгоритм Хоара :wall:Помогите пожалуйста.. если задачка - Запрограмировать алгоритм Хоара сортировки одномерного массива действительных чисел.Подсчитать кол-во сравнений и перестановок элементов. Провести эксперимент с несколькими(порядка неск. десятков) массивами случайных чисел и выдать статистику л кл-ве сравнений и перестановок в каждом случае... буду оч. признателен если кто-то чем-то... http://www.cyberforum.ru/cpp-beginners/thread18797.html
Объединение, пересечение, разность множеств C++
Это вполне стандартный алгоритм,может есть у кого готовый? Объединение, пересечение, разность множеств. Поверка на включение одного множества в другое.
Дан текстовый файл открыть его удалить из него все пробелы C++
Мне нужно решить такую задачу дан текстовый файл открыть его удалить из него все пробелы причем местоположение пробелов записать в другой файл, чтобы можно то удалять все пробелы то снова их вставлять на место. Помогите
C++ Системы счисления http://www.cyberforum.ru/cpp-beginners/thread18639.html
Есто прога перевод числа из 2-ой в 10-ую систему счисления и обратно.Есть проблема как сделать чтоб она ещё и переводила отрицательные и не целые числа.Может кто знает как это сделать? #include<math.h> #include<conio.h> #include<stdlib.h> #include<stdio.h> #include<string.h> void main(void){ long int a,bb; char str;
C++ Нахождение серий символов в строке Приветствую, господа кодеры! При написании диплома появилась некоторая проблемка: Есть строка нулей и едениц (случайно расставлены). Нужно в ней найти количество серий этих нулей и едениц, т.е. подряд идущих одинаковых символов. Написал функцию, которая в качестве аргументов берет саму строку, маску символа (ноль или еденица) и длинну серии. Функция должна возвращать количество серий... подробнее

Показать сообщение отдельно
Laxus
Сообщений: n/a
18.12.2008, 13:35     Заменить числа числительными
Я там начал эксперементировать со всем, так что там уже все щас через сраку сделано..
Код
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
int padej(char x)
  {if(x=='И'||x=='и') return 1;
  if(x=='Р'||x=='р') return 2;
  if(x=='Д'||x=='д') return 3;
  if(x=='В'||x=='в') return 4;
  if(x=='Т'||x=='т') return 5;
  if(x=='П'||x=='п') return 6;
  printf("ЋиЁЎЄ* Ї*¤Ґ¦*!");
  return 1;
  }
void n_part(long int n,int p,int* np1,int* np2,int* np3)
  {long int del=1;
  long int k;
  switch(p)
     {case 3: del=del*1000;
     case 2: del=del*1000;
     case 1: del=del*1000; break;
     case 0: del=1;
     }
  if(n!=3)
    k=n/del-n/(del*1000)*1000;
  else
    k=n/del;
  printf("\n n=%ld p=%d del=%ld k=%ld \n",n,p,del,k);
  *np1=k/100;
  *np2=k/10-*np1*10;
  *np3=k-*np1*100-*np2*10;
  }
void sklonyator(long int n,int padej,char* k)
  {int i,np1,np2,np3;
  char rez[200]="";
  if(n)
    /*{if(n<0)
      {strcat(rez,"минус ");
      n=-n;
      }*/

    for(i=3;i>=0;i--)
      {n_part(n,i,&np1,&np2,&np3);
      if(np1||np2||np3)
	  {
	//sotny
      switch(np1)
	{case 1:
	  switch(padej)
	    {case 1:case 4:strcat(rez,"сто "); break;
	    default: strcat(rez,"ста ");
	    }
	  break;
	case 2:
	  switch(padej)
	    {case 1:case 4:strcat(rez,"двести "); break;
	    case 2:strcat(rez,"двухсот "); break;
	    case 3:strcat(rez,"двумстам "); break;
	    case 5:strcat(rez,"двумстами "); break;
	    case 6:strcat(rez,"двухстах "); break;
	    }
	  break;
	case 3:
	  switch(padej)
	    {case 1:case 4:strcat(rez,"триста "); break;
	    case 2:strcat(rez,"трехсот "); break;
	    case 3:strcat(rez,"тремстам "); break;
	    case 5:strcat(rez,"тремястами "); break;
	    case 6:strcat(rez,"трехстах "); break;
	    }
	  break;
	case 4:
	  switch(padej)
	    {case 1:case 4:strcat(rez,"четыреста "); break;
	    case 2:strcat(rez,"четырехсот "); break;
	    case 3:strcat(rez,"четыремстам "); break;
	    case 5:strcat(rez,"четырьмястами "); break;
	    case 6:strcat(rez,"четырехстах "); break;
	    }
	  break;
	case 5:
	  switch(padej)
	    {case 1:case 4:strcat(rez,"патьсот "); break;
	    case 2:strcat(rez,"пятисот "); break;
	    case 3:strcat(rez,"пятистам "); break;
	    case 5:strcat(rez,"пятьюстами "); break;
	    case 6:strcat(rez,"пятистах "); break;
	    }
	  break;
	case 6:
	  switch(padej)
	    {case 1:case 4:strcat(rez,"шестьсот "); break;
	    case 2:strcat(rez,"шестисот "); break;
	    case 3:strcat(rez,"шестистам "); break;
	    case 5:strcat(rez,"шестьюстами "); break;
	    case 6:strcat(rez,"шестистах "); break;
	    }
	  break;
	case 7:
	  switch(padej)
	    {case 1:case 4:strcat(rez,"семьсот "); break;
	    case 2:strcat(rez,"семисот "); break;
	    case 3:strcat(rez,"семистам "); break;
	    case 5:strcat(rez,"семьюстами "); break;
	    case 6:strcat(rez,"семистах "); break;
	    }
	  break;
	case 8:
	  switch(padej)
	    {case 1:case 4:strcat(rez,"восемьсот "); break;
	    case 2:strcat(rez,"восьмисот "); break;
	    case 3:strcat(rez,"восьмистам "); break;
	    case 5:strcat(rez,"восмьюстами "); break;
	    case 6:strcat(rez,"восьмистах "); break;
	    }
	  break;
	case 9:
	  switch(padej)
	    {case 1:case 4:strcat(rez,"девятьсот "); break;
	    case 2:strcat(rez,"девятисот "); break;
	    case 3:strcat(rez,"девятистам "); break;
	    case 5:strcat(rez,"девятьюстами "); break;
	    case 6:strcat(rez,"девятистах "); break;
	    }
	  break;
	}
      //desyatki
      switch(np2)
	{case 1:
	  switch(np3)
	    {case 0:
	      switch(padej)
		{case 1:case 4:strcat(rez,"десять "); break;
		case 2:case 3:case 6:strcat(rez,"десяти "); break;
		case 5:strcat(rez,"десятью "); break;
		}
	      break;
	    case 1:
	      switch(padej)
		{case 1:case 4:strcat(rez,"одиннадцать "); break;
		case 2:case 3:case 6:strcat(rez,"одиннадцати "); break;
		case 5:strcat(rez,"одиннадцатью "); break;
		}
	      break;
	    case 2:
	      switch(padej)
		{case 1:case 4:strcat(rez,"двенадцать "); break;
		case 2:case 3:case 6:strcat(rez,"двенадцати "); break;
		case 5:strcat(rez,"двенадцатью "); break;
		}
	      break;
	    case 3:
	      switch(padej)
		{case 1:case 4:strcat(rez,"тринадцать "); break;
		case 2:case 3:case 6:strcat(rez,"тинадцати "); break;
		case 5:strcat(rez,"тринадцатью "); break;
		}
	      break;
	    case 4:
	      switch(padej)
		{case 1:case 4:strcat(rez,"четырнадцать "); break;
		case 2:case 3:case 6:strcat(rez,"четырнадцати "); break;
		case 5:strcat(rez,"четырнадцатью "); break;
		}
	      break;
	    case 5:
	      switch(padej)
		{case 1:case 4:strcat(rez,"пятнадцать "); break;
		case 2:case 3:case 6:strcat(rez,"пятнадцати "); break;
		case 5:strcat(rez,"пятнадцатью "); break;
		}
	      break;
	    case 6:
	      switch(padej)
		{case 1:case 4:strcat(rez,"шестнадцать "); break;
		case 2:case 3:case 6:strcat(rez,"шестнадцати "); break;
		case 5:strcat(rez,"шестнадцатью "); break;
		}
	      break;
	    case 7:
	      switch(padej)
		{case 1:case 4:strcat(rez,"семнадцать "); break;
		case 2:case 3:case 6:strcat(rez,"семнадцати "); break;
		case 5:strcat(rez,"семнадцатью "); break;
		}
	      break;
	    case 8:
	      switch(padej)
		{case 1:case 4:strcat(rez,"восемнадцать "); break;
		case 2:case 3:case 6:strcat(rez,"восемнадцати "); break;
		case 5:strcat(rez,"восемнадцатью "); break;
		}
	      break;
	    case 9:
	      switch(padej)
		{case 1:case 4:strcat(rez,"девятнадцать "); break;
		case 2:case 3:case 6:strcat(rez,"девятнадцати "); break;
		case 5:strcat(rez,"девятнацатью "); break;
		}
	    }
	  break;
	case 2:
	  switch(padej)
		{case 1:case 4:strcat(rez,"двадцать "); break;
		case 2:case 3:case 6:strcat(rez,"двадцати "); break;
		case 5:strcat(rez,"двадцатью "); break;
		}
	  break;
	case 3:
	  switch(padej)
		{case 1:case 4:strcat(rez,"тридцать "); break;
		case 2:case 3:case 6:strcat(rez,"тридцати "); break;
		case 5:strcat(rez,"тридцатью "); break;
		}
	  break;
	case 4:
	  switch(padej)
		{case 1:case 4:strcat(rez,"сорок "); break;
		default:strcat(rez,"сорока "); break;
		}
	  break;
	case 5:
	  switch(padej)
		{case 1:case 4:strcat(rez,"пятьдесят "); break;
		case 2:case 3:case 6:strcat(rez,"пятидесяти "); break;
		case 5:strcat(rez,"пятьюдесятью "); break;
		}
	  break;
	case 6:
	  switch(padej)
		{case 1:case 4:strcat(rez,"шестьдесят "); break;
		case 2:case 3:case 6:strcat(rez,"шестидесяти "); break;
		case 5:strcat(rez,"шестьюдесятью "); break;
		}
	  break;
	case 7:
	  switch(padej)
		{case 1:case 4:strcat(rez,"семьдесят "); break;
		case 2:case 3:case 6:strcat(rez,"семидесяти "); break;
		case 5:strcat(rez,"семьюдесятью "); break;
		}
	  break;
	case 8:
	  switch(padej)
		{case 1:case 4:strcat(rez,"восемьдесят "); break;
		case 2:case 3:case 6:strcat(rez,"восьмидесяти "); break;
		case 5:strcat(rez,"восмьюдесятью "); break;
		}
	  break;
	case 9:
	  switch(padej)
		{case 1:case 4:strcat(rez,"девяносто "); break;
		default:strcat(rez,"девяноста "); break;
		}
	}
      //edinicy
      if(np2!=1)
	{switch(np3)
	  {case 1:
	    if(i==1)
	      {switch(padej)
		{case 1:strcat(rez,"одна "); break;
		case 4:strcat(rez,"одну "); break;
		default:strcat(rez,"одной "); break;
		}
	      break;
	      }
	    switch(padej)
		{case 1:case 4:strcat(rez,"один "); break;
		case 2:strcat(rez,"одного "); break;
		case 3:strcat(rez,"одному "); break;
		case 5:strcat(rez,"одним "); break;
		case 6:strcat(rez,"одном "); break;
		}
	    break;
	  case 2:
	    switch(padej)
		{case 1:case 4:
		  if(i==1){strcat(rez,"две "); break;}
		  strcat(rez,"два "); break;
		case 2: case 6:strcat(rez,"двух "); break;
		case 3:strcat(rez,"двум "); break;
		case 5:strcat(rez,"двумя "); break;
		}
	    break;
	  case 3:
	    switch(padej)
		{case 1:case 4:strcat(rez,"три "); break;
		case 2: case 6:strcat(rez,"трех "); break;
		case 3:strcat(rez,"трем "); break;
		case 5:strcat(rez,"тремя "); break;
		}
	    break;
	  case 4:
	     switch(padej)
		{case 1:case 4:strcat(rez,"четыре "); break;
		case 2: case 6:strcat(rez,"четырех "); break;
		case 3:strcat(rez,"четырем "); break;
		case 5:strcat(rez,"четырьмя "); break;
		}
	    break;
	  case 5:
	    switch(padej)
		{case 1:case 4:strcat(rez,"пять "); break;
		case 2:case 3:case 6:strcat(rez,"пяти "); break;
		case 5:strcat(rez,"пятью "); break;
		}
	    break;
	  case 6:
	    switch(padej)
		{case 1:case 4:strcat(rez,"шесть "); break;
		case 2:case 3:case 6:strcat(rez,"шести "); break;
		case 5:strcat(rez,"шестью "); break;
		}
	    break;
	  case 7:
	    switch(padej)
		{case 1:case 4:strcat(rez,"семь "); break;
		case 2:case 3:case 6:strcat(rez,"семи "); break;
		case 5:strcat(rez,"семью "); break;
		}
	    break;
	  case 8:
	    switch(padej)
		{case 1:case 4:strcat(rez,"восемь "); break;
		case 2:case 3:case 6:strcat(rez,"восьми "); break;
		case 5:strcat(rez,"восмью "); break;
		}
	    break;
	  case 9:
	    switch(padej)
		{case 1:case 4:strcat(rez,"девять "); break;
		case 2:case 3:case 6:strcat(rez,"девяти "); break;
		case 5:strcat(rez,"девятью "); break;
		}
	  }
	}
	switch(i)
	  {case 1:
	    switch(np3)
	      {case 1:
		switch(padej)
		  {case 1:strcat(rez,"тысяча "); break;
		  case 2:strcat(rez,"тысячи "); break;
		  case 3:strcat(rez,"тысяче "); break;
		  case 4:strcat(rez,"тысячу "); break;
		  case 5:strcat(rez,"тысячью "); break;
		  case 6:strcat(rez,"тысяче "); break;
		  }
		break;
	      case 2:case 3:case 4:
		switch(padej)
		  {case 1:case 4:strcat(rez,"тысячи "); break;
		  case 2:strcat(rez,"тысяч "); break;
		  case 3:strcat(rez,"тысячам "); break;
		  case 5:strcat(rez,"тысачами "); break;
		  case 6:strcat(rez,"тысячах "); break;
		  }
		break;
	      default:
		switch(padej)
		  {case 1:case 2:case 4:strcat(rez,"тысяч "); break;
		  case 3:strcat(rez,"тысячам "); break;
		  case 5:strcat(rez,"тысячами "); break;
		  case 6:strcat(rez,"тысячах "); break;
		  }
	      }
	    break;
	  case 2:
	    switch(np3)
	      {case 1:
		switch(padej)
		  {case 1:case 4:strcat(rez,"миллион "); break;
		  case 2:strcat(rez,"миллиона "); break;
		  case 3:strcat(rez,"миллиону "); break;
		  case 5:strcat(rez,"миллионом "); break;
		  case 6:strcat(rez,"миллионе "); break;
		  }
		break;
	      case 2:case 3:case 4:
		switch(padej)
		  {case 1:case 4:strcat(rez,"миллиона "); break;
		  case 2:strcat(rez,"миллионов "); break;
		  case 3:strcat(rez,"миллионам "); break;
		  case 5:strcat(rez,"миллионами "); break;
		  case 6:strcat(rez,"миллионах "); break;
		  }
		break;
	      default:
		switch(padej)
		  {case 1:case 2:case 4:strcat(rez,"миллионов "); break;
		  case 3:strcat(rez,"миллионам "); break;
		  case 5:strcat(rez,"миллионами "); break;
		  case 6:strcat(rez,"миллионах "); break;
		  }
	      }
	    break;
	  case 3:
	    switch(np3)
	      {case 1:
		switch(padej)
		  {case 1:case 4:strcat(rez,"миллиард "); break;
		  case 2:strcat(rez,"миллиарда "); break;
		  case 3:strcat(rez,"миллиарду "); break;
		  case 5:strcat(rez,"миллиардом "); break;
		  case 6:strcat(rez,"миллиарде "); break;
		  }
		break;
	      case 2:case 3:case 4:
		switch(padej)
		  {case 1:case 4:strcat(rez,"миллиарда "); break;
		  case 2:strcat(rez,"миллиардов "); break;
		  case 3:strcat(rez,"миллиардам "); break;
		  case 5:strcat(rez,"миллиардами "); break;
		  case 6:strcat(rez,"миллиардах "); break;
		  }
		break;
	      default:
		switch(padej)
		  {case 1:case 2:case 4:strcat(rez,"миллиардов "); break;
		  case 3:strcat(rez,"миллиардам "); break;
		  case 5:strcat(rez,"миллиардами "); break;
		  case 6:strcat(rez,"миллиардах "); break;
		  }
	      }
	  }
      }
      }
      }
  strcat(k,rez);
  }
void main()
  {char txt[50][80];
  char str[40000];
  char chislo[11];
  char file[200];
  char rezultat[300];
  printf("\n  ‚ўҐ¤ЁвҐ ?¬п д*©«* (Їгвм): ");
  scanf("%s",&file);
  FILE *f;
  f=fopen(file,"r+");

  FILE *g;
  g=fopen("log.txt","w");
  int t;

  int i=0,j=0;
  do
   {fgets(txt[i],79,f);
   t=strlen(txt[i]);
   txt[i][80]='\0';
   strcat(str,txt[i]);
   i++;
   }
  while(!feof(f));
  i=0;
  fprintf(g,"%s",&str);
  //fprintf(g,"%s",&str);
  fclose(g);
  while(str[j]) //Ї®Є* Ґбвм бЁ¬ў®«л
    {if(isdigit(str[j])) //Ґб«Ё бЁ¬ў®« - бЁ¬ў®« жЁдал
      {while(isdigit(str[j]))  //Ї®Є* бЁ¬ў®« - бЁ¬ў®« жЁдал
	{chislo[i]=str[j]; // §*ЇЁбм зЁб«* Ё§ жЁда
	j++;
	i++;
	}
	chislo[i]='\0';
	i=0;
    //  while(str[j]!='(')  //гЄ*§*вҐ«м ¤®иҐ« ¤® бЄ®ЎЄЁ
    //	{j++;
     //	}
      j++; //гЄ*§*⥫м ** Ї*¤Ґ¦Ґ
      sklonyator(atol(chislo),padej(str[j]),rezultat);
      fprintf(g,"%s",&rezultat);
      j=j+2;//гЄ*§*вҐ«м §* бЄ®ЎЄ®©
      }
    fprintf(g,"%s",str[j]);
    j++;
    }
    fclose(f);
  }
 
Текущее время: 21:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru