Загрузка...

Помощь в программе(в консоле поменять слова местами)

Тема в разделе C/C++ создана пользователем Vzrosel 17 мар 2021. (поднята 17 мар 2021) 214 просмотров

  1. Vzrosel
    Vzrosel Автор темы 17 мар 2021 everyone free telegram stars https://lolz.live/threads/8723349/ 2885 6 авг 2016
    Надо написать код
    Задача такая: в каждой строке поменять местами самое длинное и самое короткое слово


    Пример:
    Собака кот мама
    Будет: кот собака мама

    Вот
    Только в каждой строке
    Я понял, как делать с 1 строкой
    Получается
    Все меняется
    А с 2 и более хз

    Сам код программы для одной строки:
    #include<stdio.h>
    #include<string.h>
    #define N 100
    int main()
    {
    char s[N], ar[N][N];
    int imax, imin, max=-1,min=100,n=0,i,len;
    while(scanf("%s",s)==1)
    {
    len=strlen(s);
    if(len>max){
    imax=n; max=len;
    }
    if(len<min){
    imin=n; min=len;
    }
    strcpy(ar[n++],s);

    if(getchar()!=' ') break;
    }

    strcpy(s,ar[imin]);
    strcpy(ar[imin],ar[imax]);
    strcpy(ar[imax],s);

    for(i=0;i<n-1;i++)
    printf("%s ",ar);

    printf("%s\n",ar[n-1]);
    return 0;
    }
     
  2. ReverseFlash
    ReverseFlash 17 мар 2021 25 13 май 2019
    бро выдели как код, -глаза из-за этого цвета
     
    1. Vzrosel Автор темы
      ReverseFlash, Готово, согласен глаза рили резало
  3. lavr1kcorejz
    lavr1kcorejz 17 мар 2021 14 20 окт 2019
    C
    #include "stdio.h"
    #include "string.h"
    #include "locale.h"
    #include "stdlib.h"
    #define ENTRY_LEN = 100;


    int main()
    {
    setlocale(LC_ALL, "rus");

    int i;
    char **text = NULL;
    char *a;
    int count = 0, n = 0;
    char line[256];
    char sep[]= "...";
    char line2[256];

    printf("Введите текст: \n");
    do
    {
    int arraySize = (count+1)*sizeof(char*);
    text = (char**)realloc(text,arraySize); //изменение размера массива text до arraySize
    if(text==NULL)
    {
    fprintf(stderr,"Realloc unsuccessful");
    exit(EXIT_FAILURE); //Если недостаточно памяти на компьютере – система прервет операцию
    }

    printf ("Enter %d string:\n", (count+1));
    gets(line);

    int stringSize = strlen(line)+1;
    text[count] = (char*)malloc(stringSize); //выделяет блок памяти размером stringSize
    if(text[count]==NULL)
    {
    fprintf(stderr,"Malloc unsuccessful");
    exit(EXIT_FAILURE);
    }
    strcpy(text[count], (char*)line); //копирует из line в text
    count++;

    } while (line[0]!='!', line[1]!='!', line[2]!='!', line[3]!='!',line[4]!='!',line[5]!='!'); //прерываем цикл

    puts(text[1]);

    for (i=0; i<count; i++) // выводим на экран результат выполнения программы
    {
    puts(text[i]);
    }

    return 0;
    }
     
Top
Загрузка...