HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

В помощь студенту по С или C++
  #1  
Старый 15.12.2009, 20:18
cheater_man
Постоянный
Регистрация: 13.11.2009
Сообщений: 437
С нами: 8680278

Репутация: 17
По умолчанию В помощь студенту по С или C++

Примерно такую прогу обычно сдают студенты 2-го курса.В прогу входит открытие файла, записать в файл массива, чтение из файла в массив и сортировка массива методом перебора(Прога написанна на Turbo C++)
Код:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <iostream.h>
#include <time.h>
void write_file(FILE *f, char *file_name,int size);
int main()
{
int a;
FILE *f1;
srand(time(NULL));
char *file_name = "file_in.txt";
char array[256];
printf("Random massiv:\n");
f1 =fopen(file_name,"wr");
    if(f1==NULL)
	printf("Error open file");
	else
	{
	  for(int i=0;i<256;i++)
	  {
	    a = rand() % 100;
	    array[i] = a;
	    if(i>0&&i<254)
	    {
	    fprintf(f1,"%d,",array[i]);
	    printf("%d,",array[i]);
	    }
	    if(i==255)
	    {
	    fprintf(f1,"%d.",array[i]);
	    printf("%d.",array[i]);
	    }
	  }
	  fclose(f1);
	}
getch();
write_file(f1,file_name,256);
clrscr();
return 0;
}
void write_file(FILE *f,char *file_name, int size)
{
FILE *file_out;
file_out = fopen("file_out.txt","w");
f = fopen(file_name,"r");
int int_from_file,i=0;
char c;
char mass[256];
while(fscanf(f,"%d %c",&int_from_file,c)!=EOF)
{ mass[i] = int_from_file;
  i++;
}
int min;
int temp;
for(int r=0;r<size-1;r++)
{
 min = r;
  for(int j=r+1;j<size;j++)
  {
    if(mass[j]<mass[min])
    {
      min=j;
    }
  }
  temp = mass[r];
  mass[r] = mass[min];
  mass[min] = temp;
}
fclose(f);
if(file_out==NULL)
    printf("Error open file");
 else
  printf("\nOtsortirovanii massiv\n");
   for(int d=0;d<size;d++)
    {
     if(d>0&&d<size)
      {
       fprintf(file_out,"%d,",mass[d]);
       printf("%d,",mass[d]);
      }
     if(d==size-1)
      {
       fprintf(file_out,"%d.",mass[d]);
       printf("%d.",mass[d]);
      }
    }
fclose(file_out);
getch();
}
Если кому что не понятно , пишите ответим

Последний раз редактировалось cheater_man; 17.12.2009 в 12:46..
 
Ответить с цитированием

  #2  
Старый 15.12.2009, 20:26
ASQX
Познающий
Регистрация: 21.06.2008
Сообщений: 57
С нами: 9414715

Репутация: 44
По умолчанию

разве в С++ ф-ция main не должна возвращять int число?
 
Ответить с цитированием

  #3  
Старый 15.12.2009, 20:37
rushter
Reservists Of Antichat - Level 6
Регистрация: 23.05.2008
Сообщений: 756
С нами: 9456866

Репутация: 979


По умолчанию

Цитата:
Сообщение от ASQX  
разве в С++ ф-ция main не должна возвращять int число?
Если void,то нет.
__________________
Blog
 
Ответить с цитированием

  #4  
Старый 16.12.2009, 00:16
razb
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
С нами: 9017461

Репутация: 414


По умолчанию

Вообще не могу понять зачем эта тема?
Уже есть тема для помощи студентам с лабами, хватит засирать раздел!
 
Ответить с цитированием

  #5  
Старый 16.12.2009, 04:54
0xF0RD
Новичок
Регистрация: 02.12.2009
Сообщений: 19
С нами: 8653250

Репутация: 8
По умолчанию

Вообще, по правилам языка С++ , если функция main() имеет тип возвращаемого значения void, то она должна заканчиваться так exit (0), где 0-код возврата
 
Ответить с цитированием

  #6  
Старый 16.12.2009, 13:54
R1der23
Новичок
Регистрация: 28.07.2008
Сообщений: 25
С нами: 9361230

Репутация: 0
По умолчанию

вообще то по стандарту с++ функция main должна возвращать int ..
 
Ответить с цитированием

  #7  
Старый 16.12.2009, 23:23
cheater_man
Постоянный
Регистрация: 13.11.2009
Сообщений: 437
С нами: 8680278

Репутация: 17
По умолчанию

Нет стандарта у main, и не обязательно она возвращать int.
Например могу еще и вот так написать
Код:
void main(void)
{
....
}
И это не будет считаться за ошибку, т.к main это главный поток программы и он должен быть не обязательно int
А эта тема создана для студентов и всё на это
 
Ответить с цитированием

  #8  
Старый 17.12.2009, 01:40
nerezus
Флудер
Регистрация: 12.08.2004
Сообщений: 3,791
С нами: 11444066

Репутация: 2290


По умолчанию

Цитата:
Нет стандарта у main, и не обязательно она возвращать int.
Есть.
Только вот в нем написано should.
Т.е. "рекомендуется", которое применено к компилеру.
 
Ответить с цитированием

  #9  
Старый 17.12.2009, 02:30
vdm
Новичок
Регистрация: 16.12.2009
Сообщений: 3
С нами: 8633148

Репутация: 5
По умолчанию

По стандарту всё-таки int. Есть (плохие) компилеры, которые это глотают, но вообще это некорректно. Программа должна хоть что-то отдавать ОС, т.е. обычно 0 в случае отсутствия ошибки - это весьма удобно, так как exit code тоже можно обработать уже в самой ОС, например так:

Код:
./proga
if [ $? -ne 0 ]; then
  echo "Shit happens";
fi
 
Ответить с цитированием

  #10  
Старый 17.12.2009, 12:45
cheater_man
Постоянный
Регистрация: 13.11.2009
Сообщений: 437
С нами: 8680278

Репутация: 17
По умолчанию

Цитата:
Сообщение от vdm  
По стандарту всё-таки int. Есть (плохие) компилеры, которые это глотают, но вообще это некорректно. Программа должна хоть что-то отдавать ОС, т.е. обычно 0 в случае отсутствия ошибки - это весьма удобно, так как exit code тоже можно обработать уже в самой ОС, например так:

Код:
./proga
if [ $? -ne 0 ]; then
  echo "Shit happens";
fi
Да всетаки соглашусь, что main должна быть int. Гуглил на счет main и в некоторых стaтьяx пишут:
Код:
viod main()
{
...
}
Все таки это не правильно! Действительно правильней будет так:
Код:
int main()
{
...
return 0;
}
->http://ru.wikipedia.org/wiki/C%2B%2B
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Статейки УК Украины.Выборка по ИТ и не только. liquidcube Статьи 23 10.12.2009 06:23
Взлом E-Mail и анкет Vkontakte.ru на заказ Frost26 Freelance - О Работе 25 19.11.2009 22:00
Сетевой этикет (Перед тем, как задать вопрос хакеру) satana-fu Статьи 7 21.10.2009 07:40
10 вещей, которые вам нужно знать про Vista Firewall ground_zero Мировые новости. Обсуждения. 2 11.02.2007 19:02



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Создать сделку

Продавец: ник или ID

Название сделки:

Сумма USDT:

Срок сделки, дней:

Кто платит комиссию:

Условия сделки:

После создания сделки средства будут зарезервированы в холде до завершения сделки.

×

Мои сделки

Загрузка...
×

Сделка


Загрузка чата...
×

ESCROW ADMIN PANEL

Загрузка...
Загрузка...