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

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

Thread Status:
Not open for further replies.
  1. spy-profi

    spy-profi Banned

    Joined:
    12 Dec 2007
    Messages:
    230
    Likes Received:
    19
    Reputations:
    -15
    хм...

    у меня так норм выходит:
    // lab4.cpp : Defines the entry point for the console application.
    //

    #include "stdafx.h"
    #include "math.h"
    #include "stdio.h"



    int _tmain(int argc, _TCHAR* argv[])
    {
    double b, a, n, i,i1;
    double S=0;
    i1=1;
    printf("\n Vvedit a, b, n");
    scanf_s("%lf%lf%lf",&a,&b,&n);
    if (b>5)
    b=4;
    if (a<2)
    a=2;
    for(i=1;i<=n;i++)
    S=pow(a*b,i-1)/i1*(b-i);
    i1=i1*i;
    printf("\n=%f\t",S);
    return 0;
    }


    Не ну нормально ?? Начало 1го курса :( ппц
     
  2. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    Code:
    // lab1.cpp : Defines the entry point for the console application.
    //
    
    #include "stdafx.h"
    #include <iostream>
    #include <cmath>
    #include <cstdlib>
    
    using namespace std;
    
    int fact(int); //факториал
    int _tmain(int argc, _TCHAR* argv[])
    {
    	int a,b,n;
    	
    	//Ввод
    	cout<<"Enter a:";
    	cin>>a;
    	cout<<"Enter b:";
    	cin>>b;
    	cout<<"Enter n:";
    	cin>>n;
    
    	//Условия
    	if(b>5) b=4;
    	if(a<2) a=2;
    
    	int s = 0; //сумма
    	//Суммируем
    	for(int i=0;i<n;i++)
    	{
    		
    		s +=  (pow((double)(a*b),(double)i-1))/(fact(i)*(b-i));
    	}
    	cout<<"Answer:"<<s;
    	return 0;
    }
    
    int fact(int a)
    {
    	if(a==0) return 1;
    	else return a*fact(a-1);
    }
     
  3. uzer2008

    uzer2008 New Member

    Joined:
    11 Nov 2008
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте!
    Помогите написать прогу или подскажите где можна найти инфу по етой теме.
    Перевод однозначново восьмеричнова числа в символьное представления.
    в инети находил как переводить с одной системы счисления в другую, а вот как символьное представления немогу чото найти. Благодарен за любую помощь.
     
  4. groupby

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

    Joined:
    21 Sep 2008
    Messages:
    30
    Likes Received:
    13
    Reputations:
    0
    Code:
    #include <stdio.h>
    void main()
    {
        //Твое однозначное 8-ное число (0-7)
        int chislo = 6;
        char a[3] = {'0', 0, 0};
        //строка с числом
        a[1] = chislo + '0';
        printf("%s\n", a);
    }
    
     
  5. Red_Red1

    Red_Red1 Banned

    Joined:
    12 Jan 2007
    Messages:
    246
    Likes Received:
    258
    Reputations:
    83
    Хм, может я чего то не знаю, но
    Восьмеричная система счисления построена на цифрах от 0 до 7. Однозначное число в восьмеричной системе это числа от 0 до 7.
    Дальше, что значит символьное представление? Эти цифры и есть символы которые обозначают число! В языках программирования обычно принято так. Если записано "просто число" то это десятичное, если впереди стоит 0 то это восмеричное, если 0x - шестнадцатиричное. Значит, если я правильно понял насчет символьного представления, то тебе нужно просто приписать впереди 0 (ноль).
    Т.е.
    Восьмеричное число 6 будет записано как 06.
     
  6. uzer2008

    uzer2008 New Member

    Joined:
    11 Nov 2008
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    извените плиз

    я вот токо начал изучать ассемблер,вот и нада на ассемблере. вот паскаль и с++ чото ищо рублю а в ассемблере ноль.помогите.извините что ненаписал сразу
     
  7. groupby

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

    Joined:
    21 Sep 2008
    Messages:
    30
    Likes Received:
    13
    Reputations:
    0
    А в русском языке ты рубишь?

    в чем сложность переписать написанный мною выше код на ассемблер? В каком месте загвоздка?
     
  8. MCSnake

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

    Joined:
    11 Jun 2008
    Messages:
    87
    Likes Received:
    25
    Reputations:
    0
    народ помогите лабу доделать, сделал почти все но не могу вывести печать на принтере(пункт 4)

    +++++ обещаю, хз правда с этой репой мона нет, если че друга попрошу))
     
    #748 MCSnake, 14 Nov 2008
    Last edited: 14 Nov 2008
  9. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    http://sources.ru/delphi/system/print_without_tprinter.shtml
     
    1 person likes this.
  10. Vasiliusis

    Vasiliusis New Member

    Joined:
    14 Nov 2008
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Добрый день.
    Скажите пожалуйста, почему различаются результаты при выполении арифметических операций на чистом С++ и при использовании АССЕМБЛЕРНОЙ ВСТАВКИ?

    Code:
    #include <iostream>
    #include <windows.h>
    #include <iomanip>
    using namespace std;
    
    BYTE ddS = 10;
    BYTE ccS = 10;
    BYTE aS = 6;
    
    WORD NUM;
    
    void main()
    {
    	__asm
    	{
    		MOV AL, ccS
    		SUB AL, aS
    		INC AX
    		PUSH AX
    		MOV AL, ccS
    		MOV BL, ddS
    		CBW
    		DIV BL		
    		PUSH AX		
    		MOV AL, 3
    		MOV BL, aS
    		MUL BL
    		MOV BL, 2
    		CBW
    		DIV BL
    		POP BX
    		ADD AL, BL
    		POP BX
    		CBW
    		DIV BL
    		MOV NUM, AX
    	}
    	cout<<"ASSEMBLER = "<<NUM<<endl;
    	cout<<"C++ = "<<setprecision(3)<<showpoint<<(static_cast<float>(ccS)/ddS+(3*aS)/2)/(ccS-6+1)<<endl;
    	system("PAUSE");
    }
    Сейчас все сходится.

    Но можете взять отличные от этих значения - увидите результат.
    Нужно для вывода по лабе.

    Благодарствую.
     
  11. groupby

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

    Joined:
    21 Sep 2008
    Messages:
    30
    Likes Received:
    13
    Reputations:
    0
    потому что DIV и MUL работают с целыми числами. А на си, как я вижу ты работаешь с float
     
  12. Vasiliusis

    Vasiliusis New Member

    Joined:
    14 Nov 2008
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Т.е. если я уберу static_cast, то результаты сойдутся, так?
     
  13. groupby

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

    Joined:
    21 Sep 2008
    Messages:
    30
    Likes Received:
    13
    Reputations:
    0
    Сходится все равно не всегда будут :)

    Потому что если у тебя в процессе вычислений появятся отрицательные числа, то на асме у тебя снова не то получится :) Нужно использовать команды IMUL, IDIV, SBB, ADC и т.д. Учи мат часть )
     
  14. 043nKRuT0y

    043nKRuT0y Elder - Старейшина

    Joined:
    31 Oct 2007
    Messages:
    226
    Likes Received:
    8
    Reputations:
    0
    Народ помогите доделать/исправить :
    Во общем нужно :
    1 - создать список целых значений
    2- каждое новое значение должно входить в список только если раньше не встречалось !
    3 - вывести список на екран !

    У меня список создаетса , выводитса , но вот проверка на повторяемость не получается (она в программе закоментирована ) если ее раскоментировать то программа не работает ! Подскажите как организовать проверку ...
    Code:
    # include <stdio.h>
    # include <stdlib.h>
    # include <string.h>
    # include <ctype.h>
    # include <conio.h>
    # include <iostream.h>
    
    #define MAX 100
    
    
    typedef struct {
    		int elements[MAX];
    		int count;
    	       } listtype;
    
    void list_reset(listtype *list) {
    				 list->elements[0]=0;
    				 list->count=0;
    				}
    
    void list_add(listtype *list,int element)
    	{
    	 /* for(int i=0 ; i<list->count;i++)
    		{
    		 if(list->elements[i] == element)
    			{
    			 printf("Element [%i] is consist ! Input other el !",element);
    			 getch();
    			}
    		 else{*/
    			if (list->count != MAX)
    			list->elements[list->count++]=element;
    		     //}
    		//}
    	 }
    
    void list_print(listtype *list){
    				int i;
    				for(i = 0;i < list->count;i++)
    				{
    					printf("Element[%i] = %i\n",i+1,list->elements[i]);
    				}
    			       }
    
    void main ()
    {
     clrscr();
     listtype list;
     int el;
     list_reset(&list);
     char c;
     int K;
    	cout <<"Input First El :";cin>>el;
    	list_add(&list,el);
    	cout <<"\nAdd El ? [Y/N]";cin>>c;
    	while (c == 'Y' || c == 'y')
    		{
    		 cout <<"\nInput El:";cin>>el;
    		 list_add(&list,el);
    		 cout <<"\nAdd El ? [Y/N]";cin>>c;
    		}
     cout <<"\nPrint List ?[Y/N]";cin>>c;
     if(c == 'Y' || c == 'y')
    	{
    	 list_print(&list);
    	 getch();
    	}
     getchar();
    }
     
  15. velvetdust

    velvetdust New Member

    Joined:
    8 Nov 2008
    Messages:
    7
    Likes Received:
    0
    Reputations:
    -5
    Помогите нарисовать блок-схему, очень надо!

    1.3 Дано число. Определить, равна ли сумма двух первых цифр числа сумме двух его последних цифр

    Code:
    #include <stdlib.h>
    #include <stdio.h>
    #include <conio.h>
    
    int s1, s2;
    long step (int i)
    {
      int g = 1, j;
      for (j = 1; j < i; g *= 10, j++);
      return g;
    }
    
    int main ()
    {
      int k;
      printf ("Enter your number: ");
      scanf ("%d", &k);
    
      int l = k, g = 1;
    
      while (l / 10 > 0)
      {
        l /= 10;
        ++g;
      }
    
      s1 = k / step (g) + (k / step (g - 1) % 10);
      s2 = k % 10 + (k / step (2)) % 10;
      return 0;
    }
     printf ("\n Summa dvuh mladshih cifr chisla ravna %d", s1);
     printf ("\n Summa dvuh starshih cifr chisla ravna %d", s2);
     if (s1 == s2)
    {
      printf("\n Summy ravny");
     }
    else
    {
      printf("\n Summy ne ravny");
     }
     getch();
     
    #755 velvetdust, 15 Nov 2008
    Last edited: 15 Nov 2008
  16. criz

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

    Joined:
    4 Nov 2007
    Messages:
    293
    Likes Received:
    40
    Reputations:
    6
    velvetdust, блок-схему рисуют, ну или строят :)
    Что-то мне подсказывает, что код не дописан... :)
     
  17. velvetdust

    velvetdust New Member

    Joined:
    8 Nov 2008
    Messages:
    7
    Likes Received:
    0
    Reputations:
    -5
    Нарисуйте хоть бы по этому коду))) Пожалуйста, очень надо!
     
  18. vikseriq

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

    Joined:
    31 Jul 2008
    Messages:
    118
    Likes Received:
    44
    Reputations:
    2
    0 Инициализация
    1 Вводим числа = строка .
    2 Перегоняем в int два первых и два последних символа (способов много)
    3 a = a1+a2; b = b1+b2;
    4 если a == b пишем Ура иначе пишем Облом
    5 чистим память и выводим копирайты )
     
  19. 0verbreaK

    0verbreaK Elder - Старейшина

    Joined:
    30 Apr 2008
    Messages:
    318
    Likes Received:
    42
    Reputations:
    -3
    velvetdust хоть почитай как строятся блок схемы, там делов на 30 минут.
    http://ru.wikipedia.org/wiki/Блок-схема

    Ну или же воспользуйся автосоставителем блок схем
    http://www.fceditor.nm.ru/

    Лучше самому разобраться.
     
  20. AgS

    AgS New Member

    Joined:
    16 Nov 2008
    Messages:
    22
    Likes Received:
    3
    Reputations:
    0
    Народ срочно помогите плиз, надо на паскале написать 4 проги:

    Составить программу:
    для определения среднего арифметического и среднего геометрического трёх действительных чисел

    Составить программу для вычисления:
    [​IMG][​IMG]
    Code:
    program 1
    uses vincrt;
     var x,y,a,s,z: real;
      begin
      write ('x='), readln (x);
      write ('y='), readln (y);
      a:=cos(1+cos(x-y)/(x/y)+sqr(y))
      s:=cos(sin(ln(abs(x/y))))
      if x*y < 1/2 then z:=a*a*a
                         else if x*y >= 1/2 then z:=s*s*s
    write ('z:=')
    end
    составить программу, которая определяет принадлежит ли точка с координатами (x,y) заштрихованной области.
    Координаты точки ввести с клавиатуры:
    [​IMG][​IMG]
    тут скорее не знаю формулу для вычисления программы - саму прогу допёр как написать примерно.

    Составить программу для вычисления таблицы значений функции f(x) для x принадлежащего к [a,b]
    с заданным шагом изменения x:
    [​IMG][​IMG]
    Это вообще незнаю как сделать, помогите плиз.

    Чем быстрее тем лучьше, Заранее благодарен за помощь.
     
    #760 AgS, 17 Nov 2008
    Last edited: 17 Nov 2008
Thread Status:
Not open for further replies.