Си, начинающие, массив. Написать код - C (СИ)
Формулировка задачи:
Добрый вечер формучане. Помогите новичку, сложности в написании программ и понимании массивов, хотелось бы хотя бы исходный код, простенький, если можно с минимальным пояснением. Поставлены две задачи:
а) Напишите программу, которая вводит несколько строк текста и символ поиска и использует функцию strchr, чтобы определить суммарное число вхождений символа в текст.
б) Найти в матрице первую строку, все элементы которой равны нулю. Все элементы столбца с таким же номером уменьшить вдвое.
Заранее благодарю откликнувшихся.
Решение задачи: «Си, начинающие, массив. Написать код»
textual
Листинг программы
#include <stdio.h>
#include <string.h>
#define SIZE 256
int main()
{
char str[SIZE], letter, *pos;
int counter = 0;
printf("Enter string: ");
if (!fgets(str, SIZE, stdin))
return 1;
printf("Enter char: ");
scanf("%c", &letter);
for (pos = strchr(str, letter); pos; pos = strchr(pos + 1, letter))
counter++;
printf("%d\n", counter);
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и строками
- Определение размера массива строк
- Объявление переменных: строка str, символ letter, указатель pos и счетчик counter
- Запрос на ввод строки и символа
- Проверка корректности ввода строки (в случае ошибки, программа завершается)
- Поиск первого вхождения символа в строке с помощью функции strchr
- Увеличение счетчика при каждом найденном символе
- Вывод количества найденных символов
- Завершение программы