Кому порешать задачи - пишите сюда

xxxFAFNIRxxx

Вечный студент :)
помогите пожалуйста с заданием. Необходимо сделать программу на СИ, которая считает количество слов,предложений и цифр с файла. Вывод на экран. Заранее большое СПС.
ну вроде такая вот фигня, если я правильно понял задание.

Код:
#include <stdio.h>
#include <stdlib.h>
FILE *f;
int sentence,word, number;
char c;
void main (){
sentence=0;word=0;number=0;
f=fopen("H:\\1.txt","r");
if((f=fopen("H:\\1.txt","r"))==0){ printf("Could not open file\n");}
while (!feof(f)){
c=fgetc(f);
if (c==' ' || c==','){ word++; }
else if (c=='.' || c=='!' || c=='?'){ sentence++;}
if ((c>'0')&& (c<'9')){ number++;}
}
printf ("Sentences in file: %d\n",sentence);
printf ("Words in file: %d\n", word);
printf("Numbers in file: %d\n", number);
fclose(f);
}
ПыСЫ. код накидал на скорую руку. возможно что-то неправильно, ну на паре моих примеров работает вроде всё норм.
 

Пух

كنت بلهاء
Модератор
ну вроде такая вот фигня, если я правильно понял задание.

Код:
#include <stdio.h>
#include <stdlib.h>
FILE *f;
int sentence,word, number;
char c;
void main (){
sentence=0;word=0;number=0;
f=fopen("H:\\1.txt","r");
if((f=fopen("H:\\1.txt","r"))==0){ printf("Could not open file\n");}
while (!feof(f)){
c=fgetc(f);
if (c==' ' || c==','){ word++; }
else if (c=='.' || c=='!' || c=='?'){ sentence++;}
if ((c>'0')&& (c<'9')){ number++;}
}
printf ("Sentences in file: %d\n",sentence);
printf ("Words in file: %d\n", word);
printf("Numbers in file: %d\n", number);
fclose(f);
}
ПыСЫ. код накидал на скорую руку. возможно что-то неправильно, ну на паре моих примеров работает вроде всё норм.
Код:
...
f=fopen("H:\\1.txt","r");
if((f=fopen("H:\\1.txt","r"))==0){ printf("Could not open file\n");}
while (!feof(f)){
...
2 раза открываете файл для чтения. Если файл не найден (f==null), то выводите сообщение на экран и продолжаете что-то считать.
правильней немного
Код:
f=fopen("H:\\1.txt","r");
if (f==null) {
   printf("Could not open file\n");
   return; //or exit(1)
}
ну и если прикапываться, то пробелами можно не точно посчитать (2 пробела подряд, после слова, перед запятой(точкой,знаком вопроса/восклицания) стоит пробел). Но это кому нужно, тот пусть и исправляет (удаляет лишние пробелы).
Вроде не нужно делать FILE *f;int sentence,word, number;char c; глобальными переменными.
 
Відповідь: Re: Кому порешать задачи - пишите сюда

Вроде не нужно делать FILE *f;int sentence,word, number;char c; глобальными переменными.
хм , когда я учил С (не с++ ) заставляли описывать вначале :)
в чистом С все локальные переменные должны определяться до первого исполняемого оператора. В С++ определять переменные можно в любом месте.
 
Останнє редагування:

Storm_10

Member
язык: паскаль
задача: с помощью блоковой организации программы в двух матрицах найти максимальные элементы и вывести их...
не знаю как массив в процедуру передать = ( с индексами
 
Відповідь: Re: Кому порешать задачи - пишите сюда

язык: паскаль
задача: с помощью блоковой организации программы в двух матрицах найти максимальные элементы и вывести их...
не знаю как массив в процедуру передать = ( с индексами
вот для поиска в масиве максимального елемента, используется функция. написана на делфи в консольном режиме, нет под рукой паскаля

program Project2;

{$APPTYPE CONSOLE}

uses
SysUtils;
const
K=6;
n=4;
type
mas = array[1..K,1..N] of integer;

function max_el_masiva(x: mas) : integer;
var
i,j : integer;
Max_el: integer;
begin
Max_el:=-32000;
for i := 1 to K do
for j:=1 to n do
if x[j] > Max_el then
Max_el := x[j];
max_el_masiva := Max_el;
end;

var
a: mas;i,j,max:integer;
begin
{ TODO -oUser -cConsole Main : Insert code here }
for i := 1 to K do
for j:=1 to n do
begin
Writeln('Vvedite element masiva =[',i,',',j,']');
ReadLn(a[j]);
end;
max:=max_el_masiva(a);
WriteLn('Max element=',max);
readln;
end.


с помощью процедуры

program Project2;

{$APPTYPE CONSOLE}

uses
SysUtils;
const
K=6;
n=4;
type
mas = array[1..K,1..N] of integer;

procedure max_el_masiva(x: mas);
var
i,j : integer;
Max_el: integer;
begin
Max_el:=-32000;
for i := 1 to K do
for j:=1 to n do
if x[j] > Max_el then
Max_el := x[j];
WriteLn('Max element=',Max_el);
end;

var
a: mas;i,j,max:integer;
begin
{ TODO -oUser -cConsole Main : Insert code here }
for i := 1 to K do
for j:=1 to n do
begin
Writeln('Vvedite element masiva =[',i,',',j,']');
ReadLn(a[j]);
end;

max_el_masiva(a);
readln;
end.

в блоковой организации я так понял тебе еще нужно сделать ввод функцию , если делать процедурами , то делать 1ну большую, через которую вводим , находим максимальный елемент и выводим . переделать труда не составит думаю
 
Останнє редагування:

kwbg

New Member
Нужно сделать контрольные по Программированию (С++) и Криптологии. Кто-нибудь может помочь?
 

Katya=)

New Member
язык делфи
считать из текстового файла и вывести в stringgrid массив действительных чисел.
заранее спасибо)))
 

DaNIK

Брассист
сдаю досрочно сессию, нужна срочно курсовая по Численным методам "Неточные методы решения СЛАР", у кого есть, пожалуйста как-нибудь скиньте, достаточно будет одной программы, желательно на языке Си.
Заранее спасибо
 

dengolius

Юзверь
Модератор
народ! помогите студенту СумГУ с задачей на Turbo Pascal (основи програмування та алгоритмічні мови) с меня плюсик или чё-то там=)

Реализовать работу с простейшей базой данных, используя типизированные файлы (записей). В программе должны быть предусмотрены соответствующие процедуры и функции, корректно обрабатывают входные данные, ввод-вывод файлов базы данных. Результат (база данных) должен запоминаться тоже в файле и быть доступным для следующей (многократной) обработки. В реализации должны быть предусмотрены модули пользователя. В программе реализовать создания новой базы данных и добавление записей в уже созданную. Исходные данные должны вводиться с проверкой на область допустимых значений. Все действия пользователя должны контролироваться и сопровождаться обдуманными сообщениями. (Реализовать поиск информации с ключом; запрос). Предусмотреть возможность вывода всех записей базы данных на экран. Вся обработка базы данных должна происходить путем выбора пользователем соответствующего пункта из меню. В начале работы программы выводится титульная страница в графическом режиме. По окончанию работы с базой данных в графическом режиме выводится сообщение о завершении работы программы. Количество записей в базе данных - не менее 7.
Ключ для поиска По названию фирмы-подрядчика ". Запрос "Определить клиентов, у которых сумма банковского вклада меньше стоимости здания.
Схема А3.
спасибо.
с ув.
ого х*ясе уже легче mysql, sql2000, mysql впереть
ужас чему вас там учат....:x
 
Зверху