Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 18.10.2016
Сообщений: 11

Программа на Си под Linux

18.10.2016, 15:53. Показов 1459. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, помогите создать программу, я вообще не понимаю как эта программа должна выглядеть.
Задание:
Нужно разработать программу оценки числа букв и цифр в любом наборе аргументов командной строки её вызова. При этом программа должна обеспечивать выбор аргумента из заданного набора, где абсолютное значение разности количества букв и цифр минимально. Его порядковый номер в списке аргументов должен идентифицировать целочисленный код возврата программы.

Программа должна быть написана на языке СИ и по возможности должна использоваться только библиотека <stdio.h>
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.10.2016, 15:53
Ответы с готовыми решениями:

Программа на С под Linux
1. Одержати наступну системну інформацію: • час в секундах, що пройшов з моменту завантаження системи; • число процесів, що працюють в...

Программа на С под Linux
Пpоцесс откpывает N файлов, pеально существующие на диске, либо вновь созданные. Разpаботать пpогpамму, демонстpиpующую динамику...

Программа под Linux
На данный момент есть программа на C# wpf + wcf сервер (так же в планах sftp сервер) Програма на подобие рекламных банеров, воспроизводит...

1
Почетный модератор
 Аватар для Humanoid
11559 / 4353 / 453
Регистрация: 12.06.2008
Сообщений: 12,455
18.10.2016, 23:20
Лучший ответ Сообщение было отмечено Nightcor как решение

Решение

Что именно не получается? Получить аргументы очень просто:
C
1
2
3
int main(int argc, char *argv[])
{
}
Тут argc - это количество аргументов, а argv - это массив строк, где каждая строка - аргумент. Нулевой аргумент - это имя вашей запущенной программы. Перебрать все аргументы вы можете простым циклом:
C
1
2
for (int i = 1; i < argc; i++)
    printf("argv[%d] = '%s'\n", i, argv[i]);
А как именно вы будете подсчитывать буквы, цифры и выбирать нужный аргумент - решать вам. Лично я объявил бы функцию
C
1
void fill_counts(char *s, int *letters, int *digits)
которая будет в строке "s" подсчитывать буквы и цифры и заполнять переменные по указателям.
Потом в main() перебираем все аргументы
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int min_diff = -1; // тут будет храниться минимальная разница
int arg_pos = 0; // тут будет номер аргумента с минимальной разницей
for (int i = 1; i < argc; i++) {
  int letters, digits, diff;
  fill_counts(argv[i], &letters, &digits); // подсчитываем letters и digits
  diff = letters - digits;
  if (diff < 0) // функция abs() находится в stdlib.h, поэтому сами переводим в положительное
    diff = -diff;
 
  if (min_diff == -1 || min_diff < diff) { // "min_diff == -1" можно заменить на "i == 1"... смысл один - обработать первую итерацию
    min_diff = diff;
    arg_pos = i;
  }
}
if (arg_pos)
  printf("Самый подходящий аргумент номер %d : '%s' (разница: %d)\n", arg_pos, argv[arg_pos], min_diff);
else
  printf("Не было аргументов\n");
Хотел общий принцип рассказать, но так увлёкся, что почти всё написал. Вам осталось написать функцию fill_counts().
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.10.2016, 23:20
Помогаю со студенческими работами здесь

Программа под Linux
Она у меня уже есть, написанная на C#, но как её написать под Linux - не знаю. Слышал, что можно Mono использовать. Может кто-нибудь...

Консольная программа под Linux
Всем привет! Хочу написать консольную программу под Linux Ubuntu Server 16.04 LTS. Доступен только терминал (удалённый доступ). ...

Программа под Ubuntu Linux не работает с файлами
Добрый день. Написал программу на C++ и с использованием Qt для интерфейса. Под Windows 7 всё нормально. Перенес проект в Ubuntu 11.10....

[Mono] Подскажите ide c# под linux чтобы компилировался файл для linux
Подскажите ide c# под linux чтобы компилировался файл для linux не как в monodevelop

Нужен компилятор под linux mint или linux ubuntu
Нужен компилятор под linux mint или linux ubuntu. Желательно голенький компилятор без редактора, и, было бы классно, без интерфейса (как...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных выбран регистр накопления, в. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru