Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 31.01.2011, 17:13   #1
Lynsha
 
Регистрация: 07.12.2007
Сообщений: 3
Сообщение Правильно ли написал программы?

Правильно ли написал программы?
Задача №1
Написать программу, которая удаляет из бинарного файла все нечетные числа. Программа должна содержать следующие функции: 1. функция, которая заполняет, созданный в функции main, бинарный файл целыми числами. 2. функция, которая выводит содержимое бинарного файла. 3. функция, которая удаляет из бинарного файла все четные числа. (Дополнительных массивов и файлов не использовать).
Код:
#include<stdio.h>
#include<io.h>
#include<conio.h>
// указатель на файл
FILE*fp;
int count;
int fill_file();
int show_file();
int udalenie_ne4etnuh();

void main (void)
fp=fopen("file","wb+");
if(fp!=NULL)
{
fill_file()
printf("Soderjimoe faila:\n");
show_file();
udalenie_ne4etnuh();
printf("Soderjimoe faila posle udaleniya ne4etnuh 4isel:\n");
show_file();
fclose(fp);
}
getch();
// функция заполнения файла целыми числами 
//окончание ввода-при первой же ошибке ввода
int fill_file()
int num;
printf("Vvedite celye 4isla:\n");
while(1)
{
if(!scanf("%d",&num))
return 0;
fwrite (&num, sizeof(int),1,fp);
}
}
int show_file()
{
int num;
fseek(fp,0,SEEK_SET);
for(;;)
{
fread(&num, sizeof(int),1,fp);
if(feof(fp)) break;
printf("%d",num);

printf("\n");
return 0;
}
int udalenie_ne4etnyh()
{
int num;
long int p;
fpos_t pos1, pos2;
fseek (fp,0,SEEK_SET);
fgetpos (fp, &pos1);
fgetpos (fp, &pos2);
for(;;)
{
fread(&num, sizeof(int),1,fp);
if(feof(fp))
break;
fgetpos(fp,&pos2);
if(num%2!=0)
continue;
else
{
fgetpos (fp, &pos1);
fwrite (&num, sizeof(int),1,fp);
p=ftell(fp);
fgetpos (fp, &pos1);
fgetpos (fp, &pos2);
}
}
fseek(fp,0,SEEK_SET);
chsize(fileno(fp),p);
}
-----------------------------------------------------------
Задача №2
Ввести символьную строку. Посчитать количество слов в предложении. Если предложение состоит не из одного слова, то переписать второе слово в предложении справа налево. Вывести преобразованную строку. (При выводе строк использовать функцию puts и дополнительных строк не использовать)
Код:
#include <stdio.h>
#include <string.h>

void InputString(char *str);
void FormatString(char *str);

void main()
{
const int size = 255; // Размер строки
char str[size]; 	// Строка
InputString(str);// Ввод строки
// Решение 
FormatString(str);
}
void InputString(char *str)
{
printf("Input string: ");
gets(str);
}
void FormatString(char *str)
{
int numWords = 0;
int startWord = 0;
int endWord = 0;
int i;
for (i = 0; i < strlen(str) - 1; i++)
{
if ((str[i] == ' ') && (str[i+1] != ' '))
{
// Окончание второго слова
if (numWords == 1)
{
if (str[i] == ' ')
{
endWord = i-1;
}
}
numWords = numWords + 1;
}
// Начало второго слова
if (numWords == 1 && startWord == 0)
{
startWord = i+1;
}
}
if (str[0] != ' ')
{
numWords = numWords + 1;
if (numWords == 2)
{
endWord = strlen(str) - 1;
}
}
// Переворачивание строки
int halfWordLen = startWord + (int)((endWord-startWord)/2); //
int k, j;
for (j = startWord, k = 0; j <= halfWordLen; j++, k++)
{
char buf;
buf = str[j];
str[j] = str[endWord-k];
str[endWord-k] = buf;
}
printf("There are %d words in the string\n" , numWords );
puts(str);
}

Последний раз редактировалось ACE Valery; 01.02.2011 в 00:16.
Lynsha вне форума
Старый 31.01.2011, 17:45   #2
Lynsha
 
Регистрация: 07.12.2007
Сообщений: 3
По умолчанию

Вижу программистов очень много!!!
Lynsha вне форума
Старый 31.01.2011, 18:23   #3
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Вижу людей способных вставть код в компилятор и запустить программу, и использовать спец. тег, и делать нормальное оформление очень много!!!!!
p51x вне форума
Старый 01.02.2011, 10:40   #4
Lynsha
 
Регистрация: 07.12.2007
Сообщений: 3
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Вижу людей способных вставть код в компилятор и запустить программу, и использовать спец. тег, и делать нормальное оформление очень много!!!!!

У тебя никто не просит решить LOL, а по поводу оформления пусть тебя не ..ет!!!
Lynsha вне форума
Старый 01.02.2011, 10:53   #5
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

Цитата:
У тебя никто не просит решить LOL, а по поводу оформления пусть тебя не ..ет!!!
это ты зря

по теме: запускать не пробовал?

если ты хочешь, чтобы форумчане смотрели твой код учись его нормально оформлять
вместо
Код:
while(1)
{
if(!scanf("%d",&num))
return 0;
fwrite (&num, sizeof(int),1,fp);
}
надо, например, вот так:
Код:
while(1) {
         if(!scanf("%d",&num))  return 0;
         fwrite (&num, sizeof(int),1,fp);
}
а то хрен поймешь, какая скобка для какого ифа

Последний раз редактировалось NiCola999; 01.02.2011 в 11:03.
NiCola999 вне форума
Старый 01.02.2011, 12:01   #6
MeTeOpA
Форумчанин
 
Аватар для MeTeOpA
 
Регистрация: 17.02.2010
Сообщений: 194
По умолчанию

Цитата:
Сообщение от Lynsha Посмотреть сообщение
У тебя никто не просит решить LOL, а по поводу оформления пусть тебя не ..ет!!!
Смысл этой темы? Не ты делал задание?
MeTeOpA вне форума
Старый 01.02.2011, 13:12   #7
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Без нормального оформления твой код читать лень. Есть astyle, есть gnu indent. Да что уж там, все IDE'шки умеют код форматировать.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума
Старый 01.02.2011, 14:06   #8
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

Цитата:
Сообщение от Obey-Kun Посмотреть сообщение
Без нормального оформления твой код читать лень. Есть astyle, есть gnu indent. Да что уж там, все IDE'шки умеют код форматировать.
...есть Tab, есть безымянный палец левой руки...
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума
Старый 01.02.2011, 23:49   #9
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

Lynsha, чтобы узнать, правильно ли - запустите.
Лень запускать - нечего оскорблять участников форума.
Короче, закрыто.
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написал формулу к функции но ... GARY_X Microsoft Office Excel 3 26.01.2011 09:11
нахождение произведений элементов (правильно ли я её написал) trollo_ Помощь студентам 3 08.01.2011 21:40
Не правильно (или правильно?) работает позиционирование в WebKit mutabor HTML и CSS 5 09.12.2010 09:54
Что же я написал? Sibedir Свободное общение 26 04.10.2010 05:01
Не правильно выполнение программы - исключения ArniLand Общие вопросы C/C++ 1 09.05.2010 16:33