В строке массива передвинуть все ASCII коды символов на один вперед - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Новичок в программировании, начал постепенно разбираться с символьными строками и ASCII кодами. В общем в строке массива хочу передвинуть все ASCII коды символов на один вперед. Может что-то напутал с указателями, может просто неправильно сделал, но программа завершается аварийно пока. Помогите с этой элементарнейшей задачей...
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
 
main()
{
  FILE *fopen(), *in;
  FILE *fopen(), *out;
  char c, *s[256];
  int i=0;
  
  in = fopen( "input.txt" , "r" );
  out = fopen( "output.txt" , "w" );
  
  while (fgets(*s, 255, in) != NULL)
  {
    while(*s[i] != '\0')
    {
      char c = *s[i];
       c +=1;
       i++;
    }
  }  
  fprintf(out, "%s" , *s);
  return 0;
}

Решение задачи: «В строке массива передвинуть все ASCII коды символов на один вперед»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
 
main()
{
  FILE *in;
  FILE *out;
  char c[256], s[256];
  int i=0;
 
  in=fopen("input.txt","r") ;
  out=fopen( "output.txt","w");
 
  while (fgets(s, 255, in) != NULL)
  {
      while(s[i] != '\0')
    {
       c[i] = s[i];
       c[i] +=1;
       i++;
    }
}
fprintf(out, "%s" ,c);
 
  close(in);
  close(out);
  return 0;
}

Объяснение кода листинга программы

В этом коде задача состоит в том, чтобы передвинуть все ASCII коды символов в строке массива на один вперед. Вот список действий, которые выполняются в коде:

  1. Подключение необходимых библиотек: stdio.h, stdlib.h, conio.h, string.h
  2. Объявление переменных:
    • in и out - указатели на файлы для чтения и записи
    • c - массив символов, в котором будут храниться ASCII коды символов после сдвига
    • s - строка, в которой будет храниться исходная последовательность символов
    • i - счетчик, используемый для итерации по символам строки
  3. Открытие файлов in и out для чтения из и записи в соответственно
  4. Чтение строки из файла input.txt и запись ее в переменную s
  5. Сдвиг ASCII кодов символов в строке s на один вперед и сохранение их в массиве c
  6. Запись содержимого массива c в файл output.txt
  7. Закрытие файлов in и out
  8. Завершение программы с возвратом 0, что означает успешное выполнение

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.182 из 5
Похожие ответы