Loading...
kirova123 avatar kirova123 6 Точки

Домашна работа от масиви: Letter Repetition

Използвам примера от функцията "count_chars" с малки корекции, но при изхода ми ги подрежда не по показания в примера ред:

<?php
$data = "The quick brown fox jumps over the lazy dog";

foreach (count_chars($data, 1) as $i => $val) {
   echo "\"" , chr($i) , "\" \n ->$val ". '<br>';
}
?>

Разпечатва:

" " ->8 
"T" ->1 
"a" ->1 
"b" ->1 
"c" ->1 
"d" ->1 
"e" ->3 
"f" ->1 
"g" ->1 
"h" ->2 
"i" ->1 
"j" ->1 
"k" ->1 
"l" ->1  и т.н. 

Дали да търся точен отговор или на практика е изпълнена задачата?

Тагове:
0
PHP Web Development Basics 22/09/2017 19:58:13
darcoto avatar darcoto 15 Точки

Ако трябва да бъдем прецизни - трябва да потърсите решение, при което се получава същия изход. Идеята е, че при него няма да ползвате готова функция за броене, а ще я реализирате сами. Така писането ще е повече, но ще упражните нещата от темата.

1
Knightwalker avatar Knightwalker 38 Точки

Задача 11. Letter Repetitioх - https://judge.softuni.bg/Contests/1249/Advanced-Syntax-and-Operations-Lab

Малко да възродя темата, но поради някаква причина не мога да я реша задачата. Къде бъркам? 80/100. Any ideas? :x

<?php

$arr = str_split(readline());
$assocArr = [];

for ($i = 0; $i < count($arr); $i++) {
  $element = $arr[$i] . "";

  if (!array_key_exists($element, $assocArr)) {
    $assocArr[$element] = 1;
  } else {
    $assocArr[$element] += 1;
  }

}

foreach ($assocArr as $key => $value) {
  echo $key . " -> " . $value . PHP_EOL;
}

?>

 

0
26/09/2018 19:58:10
willystyle avatar willystyle 2472 Точки

"containing random ASCII character" , функцията str_split сплитва по байтове: str_split() will split into bytes, rather than characters when dealing with a multi-byte encoded string. Затова вместо да търсиш str_split_unicode(), най-просто може просто да обходиш низа (той е масив от символи):

<?php

$arr = readline();
$assocArr = [];

for ($i = 0; $i < strlen($arr); $i++) {
    $element = $arr[$i];

    if (!array_key_exists($element, $assocArr)) {
        $assocArr[$element] = 1;
    } else {
        $assocArr[$element] += 1;
    }
}

foreach ($assocArr as $key => $value) {
    echo $key . " -> " . $value . PHP_EOL;
}

?>

 

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.