Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
10 / 1 / 1
Регистрация: 26.02.2011
Сообщений: 28
1

Прокомментировать код

19.06.2011, 16:37. Показов 1103. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
поясните грамотно какое действие выполняет каждая строчка
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <stdlib.h>
 
 
int main(int argc, char *argv[])
{
    char str[100];
    int i;
 
    gets(str);
    for (i=0; str[i]!='\0'; i++)
        if (str[i]==122 || str[i]==90)
            str[i]=65;
        else if (str[i]==119 || str[i]==87)
            str[i]=66;
        else if (str[i]==120|| str[i]==88)
            str[i]=67;
 
    puts (str);
 
       return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.06.2011, 16:37
Ответы с готовыми решениями:

Прокомментировать код
#include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; int procedura(int n) { int b =...

Прокомментировать код
Пожалуйста помогите разобраться в коде, откомментируйте основные блоки (что делают и желательно...

Прокомментировать код
может кто то составить коментарии? #include &lt;stdio.h&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt;...

Прокомментировать код
#include &lt;stdlib.h&gt; //для доступа к Srand #include &lt;stdio.h&gt; #include &lt;time.h&gt; int main(){ ...

4
Эксперт С++
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
19.06.2011, 16:51 2
Похоже на перекодировку введенной строки. Но написано очень нечитабельно... Ипохоже, что только для ASCII-кода.
0
10 / 1 / 1
Регистрация: 26.02.2011
Сообщений: 28
19.06.2011, 16:58  [ТС] 3
там задание типо заменить все встречающиеся в массиве буквы w x z на a b c!
0
Эксперт С++
2381 / 1665 / 279
Регистрация: 29.05.2011
Сообщений: 3,399
19.06.2011, 17:15 4
Ну так и можно сразу писать
C
1
2
        if (str[i]=='z' || str[i]=='Z')
            str[i]='a';
А то кто его помнит, какие у кого коды...
0
S9
Волшебник
656 / 259 / 88
Регистрация: 18.12.2010
Сообщений: 545
19.06.2011, 17:46 5
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Люди, просьба то была пояснить каждую строчку, а не что прога делает (хотя это тоже надо)
вот примерно что каждая строчка делает
А сама прога заменяет z,Z на A, w,W на B и x,X на C
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdio.h>  /*Подключаем заголовочный файл stdio.h, т.е. на месте этой строчки будет содержимое файла stdio.h*/
#include <stdlib.h> /*Аналогично подключаем заголовочный файл stdlib.h*/
 
 
int main(int argc, char * argv[]) //Объявляем функцию main т.к. программа должна начинаться именно с нее
{                                //возвращает int для совместимости с C, т.к. в С конструкция void main() вроде недопустима
    char str[100]; //объявляем строчку str(т.е. не совсем строчку, а массив str размером 100 элементов типа char)
    int i;
 
    gets(str);//вводим строчку со стандартного устройства ввода (в данном случае это клавиатура)
    for (i=0; str[i]!='\0'; i++) //тут цикл до 0 элемента строки. 
/*т.к. язык C подразумевает хранение строк в памяти компа как непрерывный массив
элементов типа char, обязательно завершающийся символом с кодом 0.
т.е. '\0' является ESC-последовательностью, задающей символ с кодом 0.
Такое представление называется нуль-терминированной строкой
также это можно было записать так 
for(i = 0; i <= 100; i++) */
        if (str[i]==122 || str[i]==90) //если встратился символ с номером 122 или 90 (В ASCII это z (122) и Z(90))
            str[i]=65; //то заменяем их на А (код 65)
        else if (str[i]==119 || str[i]==87) //иначе если символ с номером 119 или 87 (w и W соответственно)
            str[i]=66; //то заменяем на B
        else if (str[i]==120|| str[i]==88) //если два предыдушие условия не выполяются, то если символ 120 или 88 (x или X)
            str[i]=67;//заменяем на C
        //если никакие условия не выполняются, то ничего не делаем
    puts (str);//выводим результат на стандартное устройство вывода(в даном случае на экран)
    return 0;//т.к. main типа int, то она должна возвращать какое-нибудь значение (в данном случае это 0, что означает 
    //успешное выполнение программы)
}
Также посмотри таблицу кодов ASCII, думаю сразу все понятно станет

Не по теме:

ИМХО в С вроде коментарии можно писать так /* тут коментарий */
// тут коментрий - а так вроде нельзя. Хотя могу ошибаться

Вложения
Тип файла: pdf ASCII.pdf (164.5 Кб, 6 просмотров)
1
19.06.2011, 17:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.06.2011, 17:46
Помогаю со студенческими работами здесь

Прокомментировать код
Дайте подробный комментарий: #define size 5 //число элементов в массиве, size - это имя...

Прокомментировать код
#include &lt;stdio.h&gt; int main() { int n=15; int a=5; int m; ...

Прокомментировать код
Дана программа подскажите что обозначают эти строчки (21, 40, 49) #include &lt;stdio.h&gt; #define n 3...

Прокомментировать код
Здравствуйте, подскажите пожалуйста, что делает вот этот цикл. Понимаю всю программу, кроме этого....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru