Студентам с лабораторными сюда (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by _Great_, 20 Jun 2007.

Thread Status:
Not open for further replies.
  1. eiti

    eiti Elder - Старейшина

    Joined:
    8 Jul 2008
    Messages:
    60
    Likes Received:
    3
    Reputations:
    5
    c++
    задача:
    Написать программу, которая считывает текст из файла и выводит на экран все его предложения в обратном порядке.
    в гугле нужные функции нашел только для C# -(
     
  2. Fata1ex

    Fata1ex Elder - Старейшина

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    fputc, fgetc, fputs, fgets
    sprintf, sscanf
    fprintf, fscanf

    выбирай
     
  3. eiti

    eiti Elder - Старейшина

    Joined:
    8 Jul 2008
    Messages:
    60
    Likes Received:
    3
    Reputations:
    5
    напиши, пожалуйста, код примерный
    функций много, вариантов тоже, путаюсь.
     
  4. Fata1ex

    Fata1ex Elder - Старейшина

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    А вот этого уже полно в гугле, да и msdn никто не отменял (с).
    PS Набираешь название функций в гугле и тебе выдается довольно много примеров использования.
     
  5. eiti

    eiti Elder - Старейшина

    Joined:
    8 Jul 2008
    Messages:
    60
    Likes Received:
    3
    Reputations:
    5
    да гуглил я эти обрывки программ. сообщи всем знакомым программистам, чтобы к примерам кодов писали комментарии.
     
  6. Fata1ex

    Fata1ex Elder - Старейшина

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
  7. BrainDeaD

    BrainDeaD Elder - Старейшина

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    вот пример если каждое предложение в новой строке.
    Code:
    #include <iostream>
      #include <fstream>
      #include <string>
      using namespace std;
        int main () {
        string line;
        string sentence [500];
        int i=1;
          ifstream myfile ("example.txt");
        if (myfile.is_open())
        {      while (! myfile.eof() )
          {        getline (myfile,line);
            sentence [i] = line;
            i++ 
         }
          myfile.close();
            while (i > 0)
            {          cout << sentence[i] << endl;
                i--;
             }
          }
          else cout << "Unable to open file";
           return 0;
      }
    код не самый красивый, но для понимания хватит )))))))
     
    1 person likes this.
  8. velvetdust

    velvetdust New Member

    Joined:
    8 Nov 2008
    Messages:
    7
    Likes Received:
    0
    Reputations:
    -5
    Сделайте пожалуйста за вознаграждение 4 лабораторные работы (язык Си, не С++ !!!)

    К ним нужно сделать отчеты (примеры выполненных работ и отчеты к ним есть во вложенном архиве)

    Связаться со мной:
    - id3650997 вКонтакте
    velvetdust - собака - яндекс.ру
    veletdust2008 - собака - gmail.com

    Оплата договорная. Заранее спасибо!

    архив - http://dump.ru/file/2872076

    P.S. Преподаватель очень строгий, прошу сделать код попроще, не применяя что-то выходящее за рамки первого курса (в архиве есть примеры решений)
     
    #1508 velvetdust, 9 Jun 2009
    Last edited: 9 Jun 2009
  9. Fata1ex

    Fata1ex Elder - Старейшина

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    Хоть бы кто-то перед тем как задать вопрос просматривал тему...все задания однотипные и код уже много раз выкладывался.
     
  10. ZeroHour

    ZeroHour Member

    Joined:
    28 Aug 2005
    Messages:
    28
    Likes Received:
    5
    Reputations:
    3
    люди, помогите плиз с реализацией алгоритма Хаффмана на Си

    ЗЫ - поиск по теме ничего не дал, а вручную просматривать 156 страниц както накладно )
     
    1 person likes this.
  11. BrainDeaD

    BrainDeaD Elder - Старейшина

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    а в гугле поискать?
    вот проскроль там вниз.
     
  12. ZeroHour

    ZeroHour Member

    Joined:
    28 Aug 2005
    Messages:
    28
    Likes Received:
    5
    Reputations:
    3
    ага, особенно классные строчки

    Code:
    char *filein;
    scanf("%s",filein);
    память выделять у нас нынче не модно..

    все найденное в гугле или очень уж запутано, или с такими ошибками, что даже страшно компилить)

    если бы нашел чтото толковое - не писал бы сюда;)
     
  13. BrainDeaD

    BrainDeaD Elder - Старейшина

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    да да, не стоит благодарности.
    кто сказал, что копипастить надо? это тебе пример реализации, а дальше дерзай! или ты думаешь, что тебе сейчас 200 строк нового кода по алгоритму напишут?
     
  14. ZeroHour

    ZeroHour Member

    Joined:
    28 Aug 2005
    Messages:
    28
    Likes Received:
    5
    Reputations:
    3
    просто если человек, написавший алгоритм, не может нормально даже получить строку, то на мой взгляд в его алгоритм лучше не смотреть :)
     
    1 person likes this.
  15. ss88

    ss88 Banned

    Joined:
    27 Nov 2008
    Messages:
    160
    Likes Received:
    44
    Reputations:
    5
    Вообще-то хоть на первом курсе нужно чему-то учиться и делать самому, хотя-бы такие вещи. Ну да ладно, может у тебя есть уважительная причина? ))) Вот набросал все четыре задачи, а отчеты к ним делай сам, во всяком случае, этот код намного лучше того, что лежит в так называемых примерах у тебя.

    1)
    Code:
    #include <stdio.h>
    #include <stdlib.h>
    enum {NAME_LEN_MAX=100,GROUP_NAME_MAX=20};
    
    typedef struct {
    	char name[NAME_LEN_MAX];
    	char group[GROUP_NAME_MAX];
    	int sex;
    	int height;
    } student;
    
    void fill_student(student * stud);
    
    int main(int argc, char ** argv){
    	int stud_count = 0;
    	(void)printf("Enter the count of students: ");
    	(void)scanf("%d",&stud_count);
    	student * students = malloc(stud_count * sizeof(student));
    	
    	for(int i=0; i < stud_count; i++)
    		fill_student(&students[i]);
    	for(int i=0; i < stud_count - 1; i++) 
    		for(int j=i+1; j < stud_count; j++)
    			if(students[i].height == students[j].height) 
    				(void)printf("They have equivalent height(%d) %s and %s\n",
    				students[i].height,students[i].name,students[j].name);
    	exit(EXIT_SUCCESS);
    }
    
    void fill_student(student * stud) {
    	printf("Enter the name: ");
    	scanf("%s",stud->name);
    	printf("Enter the group: ");
    	scanf("%s",stud->group);
    	printf("Enter the sex [0 or 1]: ");
    	scanf("%d",&stud->sex);
    	printf("Enter the height: ");
    	scanf("%d",&stud->height);
    }
    
    2)
    Code:
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    enum{STRING_LEN_MAX=250};
    
    int main(int arg,char ** argv) {
    	FILE * fd = fopen("infile.txt","r");
    	FILE * out_file = fopen("outfile.txt","w");
    	
    	char buf[STRING_LEN_MAX];
    	int i=1;
    	int all_count=0;
    	
    	(void)fgets(buf,STRING_LEN_MAX,fd);
    	while(!feof(fd)){
    		int cur_string_count=0;
    		for(int j=0; j<strlen(buf)-1;j++)
    			if(buf[j]=='f'&&(buf[j+1]==' '||buf[j+1]==','||buf[j+1]=='.'))
    				++cur_string_count;
    		
    		if(buf[strlen(buf)-2]=='f') 
    			++cur_string_count;
    			
    		if(cur_string_count>0)
    			(void)fprintf(out_file,"String number %d have %d words\n",i,cur_string_count);
    			
    		all_count+=cur_string_count;
    		++i;
    		
    		(void)fgets(buf,STRING_LEN_MAX,fd);
    	}
    	
    	(void)fprintf(out_file,"Total: %d\n",all_count);
    	
    	fclose(fd);
    	fclose(out_file);
    	exit(EXIT_SUCCESS);
    }
    
    3)
    Code:
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    enum{STRING_COUNT_MAX=100,STRING_LEN_MAX=250};
    
    int main(int argc, char ** argv){
    	FILE * infile = fopen("infile.txt","r");
    	char * strings[STRING_COUNT_MAX];
    	char buf[STRING_LEN_MAX];
    	int string_num = 0;
    	(void)fgets(buf,STRING_LEN_MAX,infile);
    	while(!feof(infile)) {
    		strings[string_num]=calloc(STRING_LEN_MAX,sizeof(char));
    		for(int i=1,j=0;i<strlen(buf);i++){
    			if(buf[i]==' ' && buf[i-1]==' ')
    				continue;
    			else 
    				strings[string_num][j++]=buf[i];
    		}
    		++string_num;
    		(void)fgets(buf,STRING_LEN_MAX,infile);
    	}
    	fclose(infile);
    	infile = fopen("infile.txt","w");
    	for(int i=0;i<string_num; i++) 
    		(void)fprintf(infile,"%s\n",strings[i]);
    	fclose(infile);
    	exit(EXIT_SUCCESS);
    }
    
    4)
    Code:
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    enum{STRING_COUNT_MAX=100,STRING_LEN_MAX=250};
    
    int main(int argc, char ** argv) {
    	int last_lines=0, string_num=0;
    	if(argc == 2) 
    		last_lines = atoi(argv[1]);
    	FILE * infile = fopen("infile.txt","r");
    	
    	char buf[STRING_LEN_MAX];
    	char * strings[STRING_COUNT_MAX];
    	(void)fgets(buf,STRING_LEN_MAX,infile);
    	
    	while(!feof(infile)){
    		
    		strings[string_num] = calloc(STRING_LEN_MAX,sizeof(char));
    		(void)strcpy(strings[string_num++],buf);
    		(void)fgets(buf,STRING_LEN_MAX,infile);
    	}
    	
    	int string_index = 0;
    	if(last_lines != 0)
    		string_index = string_num - last_lines;
    		
    	if(string_index < 0) string_index = 0;
    	
    	for(int i = string_index; i < string_num; i++)
    		(void)printf("%s",strings[i]);
    		
    	fclose(infile);
    	exit(EXIT_SUCCESS);
    }
    
    Разбирайся, шалопай :) Удачной сессии ))))
     
    1 person likes this.
  16. WiPztin

    WiPztin New Member

    Joined:
    21 Mar 2009
    Messages:
    0
    Likes Received:
    2
    Reputations:
    -6
    кроссворд в паскале...help

    Извеняюсь что создал отдельную тему..


    нужна помошь....курсовая работа-кроссворд в паскале...
    сдавать завтра...
    нужно сделать так что бы слова пересекались(по вертикали,по горизонтали)
    но как это сделать?
    ...кому не сложно подправьте так что бы три слова пересекались друг с другом...
    пожалуйста...мне эта работа очень важна...отчитываться перед директором и учителями(





    Code:
    program kross;
    uses crt,graph;
    var
    gm,gd,i,x,o:integer;
    a,b,c,d:string;
    
    begin
    gm:=detect;
     initgraph(gm,gd,'c:\users\dimike\desctop\paskal\bgi');
     setbkcolor(0);
     setcolor(5);
     cleardevice;
     settextstyle(0,0,1);
      outtextxy(250,160,'Krossvord po teme:');
      outtextxy(160,180,'kompyuter & programnoe obespe4enie');
      settextstyle(4,0,1);
       outtextxy(340,170,'os Windows');
        settextstyle(0,0,1);
      outtextxy(200,200,'dlya prodolgeniya najmite "enter"');
      outtextxy(20,460,'vipolnil Dmitriy ****');
      readln;
      cleardevice;
      setbkcolor(1);
      setfillstyle(1,2);
      setcolor(14);
      bar(0,150,640,480);
      readln;
        cleardevice;
        setcolor(5);
        setbkcolor(0);
    
        outtextxy(10,10,'так называют совокупность аппаратных программных');
        outtextxy(10,20,'средств компьютера');
        outtextxy(10,30,'обеспечивающих работу с графикой,звуком,видеоинформацией!?');
    {мультимедиа}
        gotoxy(1,3);
        readln(a);
        settextstyle(0,1,1);
        outtextxy(317,240,a);
        readln;
        cleardevice;
         settextstyle(0,0,1);
         outtextxy(10,10,'устройство ввода информации в компьютер??? ');
    {микрофон}
         gotoxy(1,3);
        readln(b);
        settextstyle(0,1,1);
        outtextxy(317,240,a);
        settextstyle(0,0,1);
        outtextxy(310,255,b);
         readln;
         cleardevice;
         settextstyle(0,0,1);
         outtextxy(10,10,'универсальное устройство для обработки информации');
    {компьютер}
         gotoxy(1,3);
        readln(c);
        settextstyle(0,1,1);
        outtextxy(317,240,a);
        settextstyle(0,0,1);
        outtextxy(310,255,b);
        settextstyle(0,1,1);
        outtextxy(332,229,c);
         readln;
      closegraph;
      end.
    
    

    я школьник я нуб
    подправьте пожалуйста
     
    1 person likes this.
  17. Baofy

    Baofy Member

    Joined:
    26 Feb 2009
    Messages:
    12
    Likes Received:
    72
    Reputations:
    7
    сам я нуб в паскале но делали давно чето похожее ток не через координаты а задавали массивами
     
  18. WiPztin

    WiPztin New Member

    Joined:
    21 Mar 2009
    Messages:
    0
    Likes Received:
    2
    Reputations:
    -6
    на самом деле не важно,как делать...преподы не уточняли)
    Baofy а на компе случайно не сохранилась программа?
     
  19. profile

    profile New Member

    Joined:
    18 Feb 2009
    Messages:
    22
    Likes Received:
    0
    Reputations:
    -1
    Задача на asm

    ребят, помогите доделать курсовую...

    там задача на ассемблере...нужна к ней блок схема ( хотяб приблизительная ) и мои ошибки может гдето есть, то поправьте :

    y=3(3x+1-t)+u+w

    y=x(and)w(or)t(xor)u

    где, x = 09, u = 30, t = 09, w = 06

    вот энти две программы должны быть в одной программе.... у меня вышло так:

    Code:
    .model small
    .data
    x dw 09
    u dw 30
    t dw 09
    w dw 06
    y dw ?
    .code
    begin:
    mov ax,@data
    mov ds,ax
    mov ax,x
    add ax,x
    add ax,x
    inc ax
    sub ax,t
    mov ax,bx
    add ax,bx
    add ax,bx
    add ax,u
    sub ax,w
    mov ax,dx ;это я заношу первую программу в регистр, а далее идет след. программа..я не знаю как ее написать (
    ____________
    тут след. программа.
    ____________
    mov ax,4c00h
    int 21h
    end begin
    
    выручайте, кому не сложно...если курсовую не здам до понедельника - вылечу с универа ((
     
  20. BlackSilver

    BlackSilver New Member

    Joined:
    30 Jan 2009
    Messages:
    28
    Likes Received:
    4
    Reputations:
    0
    Попробуй так:

    mov ax,x
    and ax,w
    or ax,t
    xor ax,u
    mov y,ax
     
Thread Status:
Not open for further replies.