Загрузка...

Написать программу на чистом Си

Тема в разделе C/C++ создана пользователем gorwed 19 дек 2022. 242 просмотра

  1. gorwed
    gorwed Автор темы 19 дек 2022 Заблокирован(а) 0 30 окт 2022
    Дана строка.Преобразовать ее,удалив каждый символ * и повторив каждый символ,отличный от *

    Кто сделает всё верно, прилично заплачу, главное чтобы прога была на чистом Си
     
  2. KinetiK
    KinetiK 19 дек 2022 20 066 18 янв 2020
    C
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>

    int main(int argc, const char * argv[]) {
    char *str = "sdafsf*fsf**fs";
    int count = 0;
    for (int i = 0; i < strlen(str); i++) {
    if (str[i] == '*') count++;
    }
    char *result = (char *)malloc(strlen(str) - count + 1 * sizeof(char));
    for (int i = 0, j = 0; i < strlen(str); i++) {
    if (str[i] != '*'){
    result[j++] = str[i];
    result[j++] = str[i];
    }
    }
    printf("original: %s\nnew: %s\n", str, result);
    free(result);
    return 0;
    }
     
    1. gorwed Автор темы
      KinetiK, уже сразу же сделали, сори бро, так спасибо
  3. KupalniK
    KupalniK 19 дек 2022 Заблокирован(а) 4 3 ноя 2022

    #include <stdio.h>
    #include <string.h>

    int main(){
    const char *line = "Exa*mple*";
    int n = 0;

    for(int i = 0; i < strlen(line); i++) n++;
    char new[(strlen(line) - n)*2];
    for(int i = 0, g = 0; i < strlen(line); i++) {
    if(line[i] != '*'){
    new[g] = line[i];
    new[++g] = line[i];
    }
    }
    new[strlen(new) - 1] = '\n';
    printf("%s", new);
    return 0;
    }
     
Top
Загрузка...