Instantly convert code snippets from C to Haskell with our free online code converter. Transform your code easily and accurately.
Experience the full potential of AI-driven code conversion and transformation!
We prioritize your code's security and privacy. Your code is not stored on our servers and is only temporarily processed for conversion. We use OpenAI's secure servers for the conversion process, ensuring your code remains confidential.
C is a general-purpose, procedural computer programming language supporting structured programming, lexical variable scope, and recursion, with a static type system.
Haskell is a purely functional programming language.
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int isPalindrome(export const char* str) {
char clean[1000];
int j = 0;
// Clean the string
for(int i = 0; str[i]; i++) {
if(isalnum(str[i])) {
clean[j++] = tolower(str[i]);
}
}
clean[j] = '\0';
// Check palindrome
int left = 0;
int right = strlen(clean) - 1;
while(left < right) {
if(clean[left] != clean[right]) return 0;
left++;
right--;
}
return 1;
}
int main() {
printf("%d\n", isPalindrome("A man, a plan, a canal: Panama")); // 1
printf("%d\n", isPalindrome("race a car")); // 0
return 0;
}
import Data.Char (isAlphaNum, toLower)
isPalindrome :: String -> Bool
isPalindrome str = clean == reverse clean
where clean = map toLower $ filter isAlphaNum str
main :: IO ()
main = do
print $ isPalindrome "A man, a plan, a canal: Panama" -- True
print $ isPalindrome "race a car" -- False
#include <stdio.h>
void bubbleSort(int arr[], int n) {
for(int i = 0; i < n; i++) {
for(int j = 0; j < n - i - 1; j++) {
if(arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int arr[] = {64, 34, 25, 12, 22, 11, 90};
int n = sizeof(arr)/sizeof(arr[0]);
bubbleSort(arr, n);
for(int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
bubbleSort :: Ord a => [a] -> [a]
bubbleSort xs = foldr (\_ -> bubble) xs [1..length xs - 1]
where
bubble [] = []
bubble [x] = [x]
bubble (x:y:xs)
| x > y = y : bubble (x:xs)
| otherwise = x : bubble (y:xs)
main :: IO ()
main = print $ bubbleSort [64, 34, 25, 12, 22, 11, 90]
Convert C to Python
Open ConverterConvert C to JavaScript
Open ConverterConvert C to TypeScript
Open ConverterConvert C to Java
Open ConverterConvert C to C++
Open ConverterConvert C to C#
Open ConverterConvert C to Go
Open ConverterConvert C to Dart
Open ConverterConvert C to Ruby
Open ConverterConvert C to Swift
Open ConverterConvert C to Kotlin
Open ConverterConvert C to Rust
Open ConverterConvert C to Scala
Open ConverterConvert C to PHP
Open ConverterConvert C to R
Open ConverterConvert C to Julia
Open ConverterConvert C to MATLAB
Open ConverterConvert C to Lua
Open ConverterConvert C to Assembly
Open ConverterConvert C to Perl
Open ConverterConvert C to Groovy
Open ConverterConvert C to Elixir
Open ConverterConvert C to F#
Open ConverterConvert C to Clojure
Open ConverterConvert C to Delphi
Open Converter