LINUX.ORG.RU

Сообщения AnonymUser

 

Программа: удаление всех повторяющийхся цифр (и букв в слове). С [в доработке]

Форум — Development

Упражнялся вчера с С и решил что-нибудь более или менее полезное написать для работы со строками символами, с исп. stdio. И вот такое получилось. Принимает один аргумент: Зачем может быть нужна?! Когда тебе твоя девушка пишет все время вот так: «даааааа, вооооот» = ) (но пока удаляет только ASCII - цифры и лат. алфавит. Только из слов без кавычек) и вообще делает символы в слове уникальными, типа на входе «good», на выходе «god» или на входе «pool», на выходе «pol»

Тема отредактирована. См. комментарии ниже. Решение внизу

//This small prorgam removes all duplicated characters out of a word
//Программа удаляет все повторяющиеся символы из слова
//Author dcc0@yandex.ru 2018.

#include <stdio.h>
int main(int argc, char* argv[]) {
  //here we check arguments//проверяем аргументы
  if (argc < 2) {
    printf("Argument must be a word:\n");
    return 0;
  }

  int x, i, j;
  //it calculates an array's length
  //вычисляем длину слова и печатаем
  for (x = 0; argv[1][x] != '\0'; x++);
  printf ("Original length: %d\n", x);
  x=x+1;
  //here we search twins
  //ищем одинаковых
  for (i = 0; i != x; i++) {
    j = i + 1;
    while (j != x) {
      if (argv[1][i] == argv[1][j]) {
        argv[1][i] = '0';
      }
      j++;
    }
  }
j=0;
  //Output
  //Вывод
  for (i = 0; i != x; i++) {
    if (argv[1][i] != '0') {
      printf ("%c", argv[1][i]);
      j++;
    }
  }
  printf ("\nNumber of uniqe symbols: %d\n", j-1);
}

P.S. Форматирование поправил. Лишний блок из кода убрал. Комментарии на русском есть. P.P.S Ну вот еще подсократилось. «Динамическое вычисление длины массива убрали. В принципе можно и вычисление x убрать.

P.P.P.S Теперь и такую строку вроде правильно обрабатывает: „teeest teeestt tteeessstt“ Original length: 25 est Number of uniqe symbols: 4 Осталось сделать транслит функцию.

 ,

AnonymUser
()

Голосовое оповещение о поче (скрипт)

Форум — Desktop

Есть такой скрипт, проверяет новые сообщения на Яндексе и голосом оповещает о новых, работает с cron. Вопросов два: Этично ли дергать через cron, например, раз в 10 минут Яндекс? Второй вопрос, есть ли в скрипте ошибки, недоработки? Или в принципе такой скрипт права на существование не имеет?

#!/bin/bash
var_file=/var/tmp_file
/usr/bin/curl -D headers_and_cookies -d 'MainLogin&from=passport&idkey=31c1365723231ce2p2ZkbO&display=page&login=user@yandex.ru&passwd=ПАРОЛЬ' -L  https://passport.yandex.ru/passport?mode=auth;

notify () {
 if [ $maill -eq 1 ]; then
  echo "You have $maill incoming message in Yandex inbox" | festival --tts
   echo "$maill" > $var_file
fi
  
 if [ $maill -gt 1 ]; then
  echo "You have $maill incoming messages in Yandex inbox" | festival --tts
   echo "$maill" > $var_file
fi
}


test_mail() {

 if [ "$maill" -ge "1" -a "$maill" -gt "$cattt" ]; then
 notify
fi
  
 if [ "$maill" -lt "$cattt" ]; then
  echo "0" > $var_file
   notify
fi
}


init_test () {
 if [ ! -e $var_file ]; then
  touch $var_file
   echo "0" > $var_file
fi
 maill=$(/usr/bin/curl  -b headers_and_cookies -L http://www.yandex.ru/m | /bin/grep -wo \"Почта\".\/\>\<strong.class=\"num\"\>[0-9]* | grep -o [0-9]*) 2>/dev/null
 cattt=$(cat $var_file)
 if [ -z $maill ]; then
  echo "0" > $var_file
   exit
else
  test_mail
fi
}
init_test 

AnonymUser
()

RSS подписка на новые темы