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

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

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

    hallboy New Member

    Joined:
    11 Nov 2008
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Помогите,пожалуйста!Нужно написать програму на С...
    С меня + и голоса вконтакте.

    Задание:
    Задана последовательность действительных чисел. Найти сумму квадратов чисел,
    значение которых принадлежит промежутке [a, b].
    Входные данные программы
    считываются из текстового файла. В результате работы программы на
    диске формируется текстовый файл, в котором записываются ФИО и
    группа исполнителя работы, задания к работе, содержание входного
    файла данных, результаты расчета;

    Вот она же готовая на паскале:
    Code:
    uses crt;
    var
    i,o:text;
    a,b,x,k:integer;
    begin
    clrscr;
    write('a=');readln(a);
    write('b=');readln(b);
    assign(i,'in1.txt');
    reset(i);
    assign(o,'out1.txt');
    append(o);
    while not eof(i) do
     begin
     read(i,x);
     if (x>a) and (x<b) then
      begin
      write(x,' - ');
      x:=sqr(x);
      writeln(x);
      k:=k+x;
      end;
     end;
    writeln('k=',k);
    writeln(o,' - ',k);
    close(i);close(o);
    readln;
    end.
    
     
  2. lokli

    lokli New Member

    Joined:
    28 Dec 2009
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    2 hallboy
    Code:
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    #include<io.h>
    #include<conio.h>
    void main()
    {
    int a,b,x,k;
    int *p1, *p2;
    printf("a=");
    scanf("%i",&a);
    printf("b=");
    k=0;
    scanf("%i",&b);
       p1=fopen("in1.txt","r");//открываем первый файлдля чтения.
       if (p1==0)//если его нет
       {
       puts("file does not exist.");//то выводим надпись на экран что его нет и выходим из прграммы.
       exit(1);
       }
       do
       {
       fscanf(p1,"%i",&x); //считываем из файда элемент х
       if ((x>a)&&(x<b)) //если он больше а и меньше б 
          {
    	  printf("%i - ",x);// выводим на экран х
    	  x=pow(x,2);//находим  квадрат х и присваиваем это значение х.
    	  printf("%i\n", x);//выводим на экран х
    	  k+=x;//присваиваем к сумму к+х
    	  }
       }while(eof(*p1));//пока не законцчиться файл р1(in1.txt)
    printf("k=%i\n",k);//выводим на экран к
    p2=fopen("out2.txt","w");//создаем файл р2(out2.txt)для записи(если он уже был раньше создан то перезаписываем его.)
    fprintf(p2," - %i",k);//записываем в файл р2 к
    fclose(p1);//закрываем файлы р1 и 
    fclose(p2);//р2
    getch();//задерживаем завершение программы до нажатия любой кнопки.
    }
     
    #2182 lokli, 18 Jan 2010
    Last edited: 18 Jan 2010
  3. GroodeR

    GroodeR New Member

    Joined:
    20 Oct 2009
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    Ребята, нужна помощь по языку Си.

    Есть несколько заданий.

    Заранее спасибо, спасите студента который болел и не в состоянии был учиться. А сейчас пришло здоровье, а вместе с ним и сесия. Знаний не прибавилось, сам не успеваю все усвоить.

    Буду весьма признателен.
     
  4. diakon2

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

    Joined:
    5 Jul 2008
    Messages:
    66
    Likes Received:
    2
    Reputations:
    0
    Помогите, у меня возникла проблема!!!!!!! При компилировании , ввожу одинаковое количество симвалов в 1й 2й и 3й строчке , выдает пральный результат , а вот если во 2й строке больше симвалов чем в 1й и 3й ,то при компилировании выдает только первую строчку ,а вторую пустую (если в 1й и 3й одинаковые числа) , а если разные числа также выдет только 1ю , а во второй ересь (


    my_strcpy.c
    Code:
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    extern char* mystrcpy(char* dest, char* src);
    
    
    
    int main(int argc, char** argv) {
      printf("%s\n",mystrcpy(argv[1],argv[2]));
      printf("%s\n",mystrcpy(argv[3],argv[2]));
      return 0;
    }
    
    my_strcpy.s
    Code:
    .intel_syntax noprefix
    .globl mystrcpy
    .type mystrcpy, @function
    mystrcpy:      
        push ecx        
        push edx
        
        
        mov ecx, [esp+12]   
        mov edx, [esp+16]   
         
            
        next:
        mov al,[edx]
        mov [ecx],al
        cmp al,0
        jz done
        
        
        inc ecx
        inc edx
        jmp next
        
        done:
        mov eax, [esp+12]
        pop edx         
        pop ecx         
        ret
    
     
    #2184 diakon2, 21 Jan 2010
    Last edited by a moderator: 21 Jan 2010
  5. sledopit2

    sledopit2 New Member

    Joined:
    21 Jan 2010
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    всем привет,ребята помогите пажалуйста с лабой.задание таково: нужно с помощью функции сделать подсчёт всех отрицательных чотных чисел в массиве.или хотябы просто чотных,без отрицательных.выручите пжлст.
     
  6. lokli

    lokli New Member

    Joined:
    28 Dec 2009
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    sledopit2 можно было бы указать язык на каком нужна данная программа. Написал на С надеюсь угадал.
    Code:
    #include <stdio.h>
    #include<math.h>
    #define n 10 
    void otbor(int a[], int j, int *ko, int *otr);/
    void main()
    {
    int k,otr,a[n];
    otbor(a,n,&k,&otr);
    printf("k=%i, otr=%i",k,otr);
    }
    void otbor(int a[], int j, int *ko, int *otr)
    {
    int i;
    *ko=0;
    *otr=0;           
    for(i=0;i<n;i++)      
      {
      printf("Enter elements a[%i]: ",i+1);
      scanf("%i",&a[i]);
      if ((fmod(a[i],2)==0)&&(a[i]!=0))//проверяем что остаток от деления a[i] на 2 равен 0 и что a[i] не равен 0
         {
    	 if (a[i]<0)// если a[i] меньше 0
    	 (*otr)++;// то прибавляем 1 к счетчику отрицательных чисел
    	 (*ko)++;//и прибавляем к счетчику простых чисел 1
    	 }
      }
    }
     
  7. sledopit2

    sledopit2 New Member

    Joined:
    21 Jan 2010
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    да надо на языке С,но этот вариант не подходит так как препод палит что такого мы не учили в первой четверти первого курса.Если можно сделать на подобии этой лабороторной:
    #INCLUDE <iostream.h>
    int sogl(char b);
    void main()
    {char b;
    cout<<"vvedite bukvu";
    cin>>b;
    if(sogl(b)==1) cout<<"soglasnaja";
    else cout<<"glasnaja";
    }
    int sogl(char b)
    {
    {if(b=='q'||b=='w'||b=='r'||b=='t'||b=='p'||b=='s'||b=='d'||b=='f'||b=='g'||b=='h'||b=='j'||b=='k'||b=='l'||b=='z'||b=='x'||b=='c'||b=='v'||b=='b'||b=='n'||b=='m')
    return 1;
    else
    return 0;
    }
    }
    эта программка делает такое...при вводе согласной буквы выводиться цыфра 1 ,а при вводе гласной на экран выводиться 0.
    всё это делалось в программе gcc.Если можете сделайте по такому примеру пажалуйста.
     
  8. cupper

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

    Joined:
    6 Jun 2007
    Messages:
    369
    Likes Received:
    92
    Reputations:
    5
    ипать О_о !! Это препод вам так сказал сделать ?
    Code:
    #include <iostream>
    
    int func (int *A, int len){
    	int key=0; // счетчик неотрицательных четных чисел 
    	for (int i=0; i<len; i++){
    		if ((A[i] < 0) && (A[i]%2 == 0)) // операция % повзращает остаток от деления если он равен нуля то в нашем случае число кратно 2 следовательно оно четно
    		key++; // равносильно key = key + 1;
    	}
    	return key;
    }
    
    int main(){
    	const int len = 6; //длина массива
    	int mas[len]={1, -2, 3, -5, -6, 0};
    	int key = func (mas, len);
    	std::cout<<"Prepod typoi kazel, chisel vot stoka: "<<key<<std::endl; //
    }
    
    lokli ты извращенец :)
     
    #2188 cupper, 21 Jan 2010
    Last edited: 21 Jan 2010
  9. Dionis1542

    Dionis1542 New Member

    Joined:
    17 Jan 2010
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    4 задачи

    срочно нужно 4 задачи на с бидери 2006. с 1 по 4 пожалуста если не затруднит
    . я извиняюсь что ссылка на файлообменник потому что хоста для картинок нормального не знаю. и если не трудно посоветуйте какой
     
    #2189 Dionis1542, 22 Jan 2010
    Last edited: 23 Jan 2010
  10. a1ertso

    a1ertso New Member

    Joined:
    16 Dec 2009
    Messages:
    35
    Likes Received:
    0
    Reputations:
    0
    Исправте пожалуйста ошибки.
    Делфи.
    PHP:
     program funktion;
    {
    $APPTYPE CONSOLE}
    uses
      SysUtils
    ,
      
    Math;

    var
      
    x,a,alpha,betta,y:real;
      
    Rezult:real;
      
    fo:text;

      
    procedure     ReadFromFile(var x,a,alpha,betta:real) ;
         var  
    fi:text;
         
    begin
           AssignFile
    (fi,'file1.txt');
           
    Reset(fi);
           
    Readln(fi,x,a,alpha,betta);
           
    Closefile(fi);
         
    end;
       
    procedure WriteToFile(var f:text ;y:real);
          
    begin
            WriteLn
    (f,' Arithmetic expression: Y=',Rezult);
               
    CloseFile(f);
          
    end;


     function 
    F(x,a,alpha,betta:real):real;
      var
      
    ch,zn,y:real;
        
    begin
          ch
    :=logN(3,power(x+1,3))-15*power(10,-3.5)*
                    
    x+power(sqrt(alpha+6*power(10,-5)),5)+arcsin(betta);
          
    zn:=exp(a)*(x*x*x)+6.15*power(10,4)*
                     
    sqr(cos(betta)) +power(x/a+tan(0.6),4);
          
    y:=ch/zn;
          
    F:=Y;
        
    end;
      
    begin
          ReadFromFile
    (x,a,alpha,betta) ;
          
    Y:= F(x,a,alpha,betta);
          
    AssignFile(fo,'funks.txt');
          
    Rewrite(fo);
          
    WriteToFile(fo,y);

      
    end.
    В итоге, результат "У" должен записатся в файл с ответом Arithmetic expression: Y=(ответ). но выводяться только нули.


    И по возможности вторую задачку:

    PHP:
      PROGRAM laba_6;
    {
    $APPTYPE CONSOLE}
    uses
      SysUtils
    ,math;

      var
        
    F:array [1..10of integer;
        
    e,c,pi,k,:real;
                                                                

      
    i,n:integer;
      
    ee,ff :string;
      
    fi,fo :text;
        
    begin
         AssignFile
    (fi,'1.txt');
            
    read(fi);          //откр. для чтения
          
    READ(fi,e,c,pi,k,m);           //читаем строку

             
    for i:=1 to n do Read(fi,F[i]);
         
    CloseFile(fi);              //закрываем файл
                                    //вывод инфы в файл
           
    AssignFile(fo,'1.out');
             
    Rewrite(fo);                   // открываем для записи
             
    Writeln(fo,' e',e,' c=',c,' pi=',pi,' k=',k,' m=',m);
                                                                  
    //Writeln(fo,' ' e',e,' c=',c,' pi=',pi,' k=',k,' m=',m);
             
    Write(fo,' F=(');
                  for 
    i:=1 to n do Write(fo,F[i]:3);
             
    Writeln(fo,' )');
            
    CloseFile(fo);    // закрываем файл
                   //Вывод
       
    Writeln(' e',e,' c=',c,' pi=',pi,' k=',k,' m=',m);
                                                                   
    //Writeln(' e=',e:12:9,'  c=',e:4);
       
    Write(' f=(');
            for 
    i:=1 to n do Write(F[i]:3);
              
    Writeln(' )');
              
    WriteLn('***** Press <ENTER> to finish *****');
              
    Readln;
                
    Readln;
        
    END.

    Взять из файла и переписать в другой. Но второй файл остается пустой. Заранее благодарен.
     
  11. SnooPy

    SnooPy New Member

    Joined:
    16 Dec 2009
    Messages:
    14
    Likes Received:
    2
    Reputations:
    0
    Здравствуйте помогите лабу сделать
    Тема ОБработка одномерных массивов (pascal)
    1. вычислить значение 37 элиментов одномерного целочисленного массива F в интервале (-9;6) с использованием генератора случайных чисел
    2. Вычислить среднеквадратичное значение положительных элементов второй половинны массива.
    3. Определить наименьший по модулю элемент среди нечетных по номеру элементов третьей четверти массива.
    4. Упорядочить каждые вторые элементы последней четверти массива по убыванию обратных функций.
     
  12. new-sl

    new-sl New Member

    Joined:
    27 May 2009
    Messages:
    46
    Likes Received:
    0
    Reputations:
    -1
    всем привет мине нужно решить 1 задачу мине нужно програмно перестовлять и решат линеиные и квадратние уровнения а тагже чтобы прога могла перестовлять формулы по задонои переменои и решать патом ету переменую функцыи надо написать самому ест у каво какаянибуть инфа или подсказки буду благодарен !
     
  13. Linkus

    Linkus Member

    Joined:
    20 Dec 2008
    Messages:
    168
    Likes Received:
    15
    Reputations:
    -1
    new-sl, ты вообще знаешь что такое запятая?? Или другие знаки препинания. Я не понял твой запрос :)
     
  14. new-sl

    new-sl New Member

    Joined:
    27 May 2009
    Messages:
    46
    Likes Received:
    0
    Reputations:
    -1
    мине нужно програмно перестовлять и решат линеиные и квадратние уровнения .
    Тагже чтобы прога могла перестовлять формулы по задонои переменои и решать патом ету переменую.
    Функцыи надо написать самому!
    Ест у каво какаянибуть инфа или подсказки ? , буду благодарен !

    пример :

    1: x^2+6x+4=0 x=?
    2: 2x+3=4 x=?
    3: x^2+6x+4=2x^2+5x-4 x=?
     
  15. STIFFmaster

    STIFFmaster New Member

    Joined:
    11 Dec 2009
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    Помогите найти ошибку. Программа должна искать количество вхождений подстроки в строку, а вместо нужного числа всегда выводит только 0
    Code:
    #include <iostream.h>
    void main()
    {
    	char stroka[30];
    	char podstroka[6];
    	int ch=0;
    	cout<<"vvedite stroky ";
    	cin.getline(stroka, 30);
    	cout<<"\nvvedite iskomyjy podstroky ";
    	cin.getline(podstroka,6);
    	for(int i=0; i<25; i++)
    	  {    
    		   if ((stroka[i]==podstroka[0]) 
    		   && (stroka[i+1]==podstroka[1]) 
    		   && (stroka[i+2]==podstroka[2]) 
    		   && (stroka[i+3]==podstroka[3])
    		   && (stroka[i+4]==podstroka[4])
    		   && (stroka[i+5]==podstroka[5]) )
    		   ch++;
    		   }
    		   
    	cout<<ch;
    }
     
  16. XimiK69

    XimiK69 Member

    Joined:
    2 Jan 2010
    Messages:
    45
    Likes Received:
    5
    Reputations:
    0
    Или я задание не понял или очень странный код проверки у тебя
    Есть стандартная функция проверки......
    Code:
    	for(int i=0; stroka[i] != '\0'; i++)
    	{
    		if(stroka[i] == podstroka[0])
    		{
    			bool fl = true;
    			for(int j = 0; podstroka[j] != '\0'; j++)
    			{
    				if(stroka[i + j] != podstroka[j]) { fl = false; break; }
    			}
    			if(fl) { ch++; }
    		}
    	}
     
  17. KrabKN

    KrabKN New Member

    Joined:
    21 Jan 2010
    Messages:
    27
    Likes Received:
    0
    Reputations:
    0
    1.провести подсчет согласных букв во введенной стоке, на си


    2.Данная целочисленные матрица. Отсортировать строки матрицы в соответствии с первого элемента строки по убыванию.
     
  18. XimiK69

    XimiK69 Member

    Joined:
    2 Jan 2010
    Messages:
    45
    Likes Received:
    5
    Reputations:
    0
    KrabKN, а в чем у тебя затруднения при решении этих задач?
    На форуме эти задачи были уже разобраны....
    Вот решение 2 задачи http://www.forum.antichat.ru/threadnav122076-216-10.html
    1 задача тоже несложная.......
     
  19. KrabKN

    KrabKN New Member

    Joined:
    21 Jan 2010
    Messages:
    27
    Likes Received:
    0
    Reputations:
    0
    не правильна ввожу формулы
    нужна помощь
    что то не получаеца у меня
     
  20. XimiK69

    XimiK69 Member

    Joined:
    2 Jan 2010
    Messages:
    45
    Likes Received:
    5
    Reputations:
    0
    мммм......
    ну вот пример проверки гласных.....согласные попробуй сам.....
    Code:
    void main()
    {
    	char buf[] = "eyuioa"; ///нужный нам алфавит
    
    	char str[] = "forum.antichat.ru";
    	int count = 0;
    	for(int i = 0; str[i] != '\0'; i++)
    	{
    		for(int j = 0; buf[j] != '\0'; j++)
    		{
    			if(str[i] == buf[j]) { count++; break; }
    		}
    	}
    
    	cout << count << endl;
    }
     
Thread Status:
Not open for further replies.