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

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

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

    HenryL New Member

    Joined:
    6 Jun 2010
    Messages:
    15
    Likes Received:
    0
    Reputations:
    0
    Вот почему это не работает?
    Code:
    #include <stdio.h>
    #include <string>
    #include "stdafx.h"
    #include "fstream"
    #include "conio.h"
    #include "math.h"
    #include "iostream" 
    
    using namespace std;
    
    class aeroflot
    {public:
    	struct note
    	{
    	public:
    	char type[100];
    	char dest[100];
    	};
    	void enter()
    	{	int numb, i, kol, o;
    		cout << "Введите данные: " << endl;
    		cout << "" <<endl;
    		for (i=0; i<kol; i++)// цикл для ввода данных о рейсе
    			{
    				for (int o=0; o<kol; o++)
    					{
    						{
    							cout << i+1 <<"-й маршрут." << endl;
    							cout << "Пункт назначения (не более 10 симв.): ";
    							cin >> reys[i].dest;
    							cout << "Номер рейса: ";
    							cin >> reys[i].numb;
    							cout << "Тип самолета (не более 10 симв.): ";
    							cin >> reys[i].type;
    						}
    						cout << "" <<endl;
    						break;
    					}
    			}			
    	}
    	
    };
    
    int main()
    {
    	aeroflot reys[7];
    	reys[7].enter();
    }
     
    #3101 HenryL, 28 Nov 2010
    Last edited: 28 Nov 2010
  2. becensed

    becensed Member

    Joined:
    2 Dec 2009
    Messages:
    84
    Likes Received:
    24
    Reputations:
    1
    Code:
    /*
        Данная последовательность n натуральных чисел. 
        Для каждого числа вычислить количество его цифр и сумму этих цифр. 
        Вывести на экран каждое число, количество его цифр ты их сумму. 
        Использовать процедуру для вычисления количества цифр числа и их суммы.
    */
    
    #include <stdio.h>
    #include <math.h>
    
    //вычисление количества цифр
    int count(int num)
    {
        return (int)log10(num)+1;
    }
    
    //вычисление сумы цифр
    int summa(int num)
    {
        int summ=0;
        while(num!=0)
        {
            summ += num%10;
            num /= 10;
        }
        return summ;
    }
    
    
    int main()
    {
        int arr[] = {12,134,1254,11,1,25,987,12345,321118,9,88,78,1234567};
        int size  = sizeof(arr)/sizeof(arr[0]);
        int i;
    
        printf(".-------------------------,\n"
               "|  Number  | Count | Summ |\n"
               ":-------------------------:\n");
    
        for(i=0;i<size;i++)
            printf("| %-*d | %-*d | %-*d |\n",8,arr[i],5,count(arr[i]),4,summa(arr[i]));
        
        printf("`-------------------------'\n");
    
        return 0;
    }
    Как-то так
     
  3. HenryL

    HenryL New Member

    Joined:
    6 Jun 2010
    Messages:
    15
    Likes Received:
    0
    Reputations:
    0
    Слегка подправил, теперь данные передаются в метод enter, но функция sort - сортировка ничего не выводит. Ошибки нет.
    Code:
    #include <stdio.h>
    #include <string>
    #include "stdafx.h"
    #include "fstream"
    #include "conio.h"
    #include "math.h"
    #include "iostream" 
    
    using namespace std;
    
    class aeroflot
    {public:
    	int numb, i;
    	char type[100];
    	char dest[100];
    	void enter(aeroflot *reys)
    	{	int i, kol;
    	kol=2;
    		cout << "Введите данные: " << endl;
    		cout << "" <<endl;
    		for (i=0; i<kol; i++)// цикл для ввода данных о рейсе
    			{
    				for (int o=0; o<kol; o++)
    					{
    						{
    							cout << i+1 <<"-й маршрут." << endl;
    							cout << "Пункт назначения (не более 10 симв.): ";
    							cin >> reys[i].dest;
    							cout << "Номер рейса: ";
    							cin >> reys[i].numb;
    							cout << "Тип самолета (не более 10 симв.): ";
    							cin >> reys[i].type;
    						}
    						cout << "" <<endl;
    						break;
    					}
    						
    			}			
    	}
    
    	void sort(aeroflot numb, aeroflot *dest, aeroflot *type, aeroflot *reys)
    	{	int i =0;
    		int temp = i;
    for (i = 0; i < temp - 1; i++)// цикл сортировки по возрастанию
    	{
    		int imin = i;// принимаем за наименьший первый из рассматриваемых элементов
    		for (int j = i + 1; j < temp; j++)// поиск номера минимального элемента из неупорядоченных
    		if (reys[j].numb < reys[imin].numb)
    		imin = j;
    		aeroflot a = reys[i];// обмен двух элементов массива структур
    		reys[i] = reys[imin]; 
    		reys[imin] = a; 
    	}
    cout << "Маршруты по возрастанию номера рейса: " << endl;
    cout << " " << endl;
    for (i = 0; i < temp ; i++) 
    	{
    		cout << reys[i].dest <<"   " << reys[i].numb << "   " << reys[i].type << endl; 
    	}
    
    	}
    	
    };
    
    int _tmain(aeroflot numb, aeroflot *dest, aeroflot *type)
    {
    	setlocale(0,"Rus");
    	aeroflot reys[2];
    	//
    reys[2].enter(reys);
    	reys[2].sort(numb,dest,type,reys);
    	_getch();
    }
     
  4. HenryL

    HenryL New Member

    Joined:
    6 Jun 2010
    Messages:
    15
    Likes Received:
    0
    Reputations:
    0
    Финальная версия программы)))
    Code:
    #include <stdio.h>
    #include <string>
    #include "stdafx.h"
    #include "fstream"
    #include "conio.h"
    #include "math.h"
    #include "iostream" 
    
    using namespace std;
    
    class aeroflot
    {public:
    	
    	int i, numb;
    	char type[100];
    	char dest[100];
    	void enter(aeroflot *reys)
    	{	int i, kol;
    	kol=2;
    		cout << "Введите данные: " << endl;
    		cout << "" <<endl;
    		for (i=0; i<kol; i++)// цикл для ввода данных о рейсе
    			{
    				for (int o=0; o<kol; o++)
    					{
    						{
    							cout << i+1 <<"-й маршрут." << endl;
    							cout << "Пункт назначения (не более 10 симв.): ";
    							cin >> reys[i].dest;
    							cout << "Номер рейса: ";
    							cin >> reys[i].numb;
    							cout << "Тип самолета (не более 10 симв.): ";
    							cin >> reys[i].type;
    						}
    						cout << "" <<endl;
    						break;
    					}
    						
    			}
    		for (i = 0; i < 2 ; i++) 
    	{
    		cout << reys[i].dest <<"   " << reys[i].numb << "   " << reys[i].type << endl; 
    	}
    
    	}
    
    	void sortname(aeroflot *reys, aeroflot *dest, aeroflot *type, aeroflot numb)//struct_data - тип данных структуры,  n - количество элементов структуры
    {
    	int j,k;
     aeroflot p;
     for(j=0; j<2; j++)
      {
       for(k=0; k<2; k++)
        {
         if(strcmp(reys[j].dest,reys[k].dest)<0)
              {
           p=reys[j];
           reys[j]=reys[k];
           reys[k]=p;
          }
        }
      }
    
    cout << "Маршруты по нункту назначения: " << endl;
    cout << " " << endl;
    for (i = 0; i < 2 ; i++) 
    	{
    		cout << reys[i].dest <<"   " << reys[i].numb << "   " << reys[i].type << endl; 
    	}
    
    
    	}
    
     void search(aeroflot *reys, aeroflot *dest, aeroflot *type, aeroflot numb, int kol)
     {
    	 while (true)
    { 
    	char inp [10];
    	cout << endl << "Ввведите пункт назначения: ";  
    	cin >> inp; 
    	cout << endl;
    	bool f = false;// флаг (найдено ли хотя бы одно)
    	for (i=0; i<kol; i++)
    	{	
    		if (strcmp (reys[i].dest, inp)==0)//сравнение введенной строки с массивом пунктов назначения
    			{
    				cout << "Найдено!" << endl;
    				cout << "Номер рейса: " <<' '<< reys[i].numb<<' '<< "Тип самолета: " <<' '<< reys[i].type << ' '<<endl; 
    				f = true; 
    			}
    	}
    		if (!f) cout << "Нет такого пункта назначения!"; 
    
     }
     }
    	
    };
    
    int _tmain(aeroflot *dest, aeroflot *type, aeroflot numb, int kol )
    {
    	setlocale(0,"Rus");
    	//
    	aeroflot reys[2];
    reys[2].enter(reys);
    reys[2].sortname(reys, dest, type, numb);
    reys[2].search(reys, dest, type, numb, kol);
    
    	_getch();
    }
    Во первых, там ошибка есть, с выходом за пределы в reys (ее видно, если убрать метод search() с вечным циклом while, который не дает завершится проге и выдать ошибку). Во вторых, собсно функция search не хочет ничего искать! Совсем сбился уже с толку сегодня с этой прогой, помогите!!!
     
  5. juzam

    juzam New Member

    Joined:
    18 Oct 2010
    Messages:
    45
    Likes Received:
    2
    Reputations:
    0
    Есть ли у кого идеи по поводу этакой задачки:

    Вывести всевозможные перестановки цифр в числе.

    >> 132
    <<
    123
    132
    213
    231
    312
    321
     
  6. H1N1

    H1N1 New Member

    Joined:
    30 Nov 2009
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    Да есть. Скачай эту прогу V-ListmakeR и введи туда своё число в раздел passwordz в подраздел ABC :D
     
  7. Oven

    Oven New Member

    Joined:
    18 Feb 2010
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Ответ для JohnnyBGoode

    Для задачи: Показать, что сумма нечётных натуральных чисел равна квадрату целого числа. Количество нечётных натуральных чисел задаёт пользователь.
    Code:
    #include "stdafx.h";
    #include "iostream";
    
    
    using namespace std;
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    int n, i;
    cout << "Vvedite kol-vo nechetnih chisel: ";
    cin >> n;
    int sum=1;
    for (i=2; i<=n; i++) 
    {
      sum += 2*i-1;
    }
    cout << "\nFor number " << n << " sum= " << sum<< " : " << n << " v kvadrate\n";
    i = 1;
    while(i<(n*2))
    {
    if((i%2)==1)
    cout << i << " ";
    i++;
    }
    system ("pause");
    return 0;
    }
    
     
  8. MasSs

    MasSs Member

    Joined:
    30 Mar 2010
    Messages:
    62
    Likes Received:
    14
    Reputations:
    1
    Такой вот вопрос. Может у кого то завалялась прога на MASM которая реализует шифрование строки методом Цезаря? Если есть, заранее спасибо)
     
  9. becensed

    becensed Member

    Joined:
    2 Dec 2009
    Messages:
    84
    Likes Received:
    24
    Reputations:
    1
    Code:
    mov   esi,offset buffer
    call  _cezar
    ...
    _cezar proc
    
        push    edx
        dec esi
    _1:
        inc esi
        mov dl,byte ptr[esi]
        cmp dl,0
        je  _5
        cmp dl,30h
        jb  _1
        cmp dl,36h
        jbe _2
        cmp dl,39h
        jbe _3
        cmp dl,41h
        jb  _1
        cmp dl,57h
        jbe _2
        cmp dl,5ah
        jbe _4
    
        cmp dl,61h
        jb  _1
        cmp dl,77h
        jbe _2
        cmp dl,7ah
        ja  _1
        jmp _4
    
    _2:
        add dl,3
        mov byte ptr[esi],dl
        jmp _1
    
    _3:
        sub dl,7
        mov byte ptr[esi],dl
        jmp _1
    
    _4:
        sub dl,17h
        mov byte ptr[esi],dl
        jmp _1
    
    _5:
        pop edx
        ret
    
    _cezar endp
     
    2 people like this.
  10. RedFern.89

    RedFern.89 Member

    Joined:
    20 Jan 2010
    Messages:
    575
    Likes Received:
    48
    Reputations:
    0
    Nogir15, либо ты поздно спахватился и молишь о пощаде, либо ты студент, которому надо сдеать лабу
     
  11. waik

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

    Joined:
    2 Nov 2008
    Messages:
    405
    Likes Received:
    163
    Reputations:
    12
    Тс попросил выложит задачки которые ему нужно решить.
    [​IMG]
     
  12. Catbert

    Catbert Banned

    Joined:
    29 Jun 2010
    Messages:
    80
    Likes Received:
    27
    Reputations:
    10
  13. return

    return New Member

    Joined:
    23 Oct 2010
    Messages:
    125
    Likes Received:
    3
    Reputations:
    1
    Просто в тех кодах были ошибки которые я исправил, а вот этот код должен работать, но я не пойму почему он не работает
     
  14. GRRRL Power

    GRRRL Power Elder - Старейшина

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    По-моему, ты наркоман)
     
  15. return

    return New Member

    Joined:
    23 Oct 2010
    Messages:
    125
    Likes Received:
    3
    Reputations:
    1
    Проблему уже сам решил. Всё дело в указателях =)
     
  16. MAV574

    MAV574 New Member

    Joined:
    4 Jul 2010
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте, имеется программа, которая неверно считает. Необходимо просмотреть код, найти ошибки и еще доделать/изменить некоторые вещи.
    Язык - Java. IDE - NetBeans 6.5
    Подробности при отписке в личку.
    ОПЛАТУ ГАРАНТИРУЮ!!!
     
    #3116 MAV574, 30 Nov 2010
    Last edited: 30 Nov 2010
  17. AniChe42

    AniChe42 New Member

    Joined:
    24 Jan 2010
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    Ввести n и x и вычислить сумму:
    a=(-1)*(pow(x,2*k))/(Fact(k+1))
    Ответ: при x=3,14, n=10 -----> S приблизительно равна 99,253

    ВРОДЕ НАПИСАЛ, НО НЕ МОГУ ПОНЯТЬ В ЧЕМ ОШИБКА ОТВЕТ ПОЛУЧАЮ -1382,3800
    Подскажите где я ошибся, заранее благодарен)


     
    #3117 AniChe42, 30 Nov 2010
    Last edited: 30 Nov 2010
  18. AdReNa1!Ne

    AdReNa1!Ne Elder - Старейшина

    Joined:
    24 May 2007
    Messages:
    70
    Likes Received:
    105
    Reputations:
    14
    Ты умножаешь все выражение на -1, у тебя ответ не может быть в принципе положительным, т.к. pow() у тебя > 0 и Fact() тоже > 0.
     
  19. 2L84U

    2L84U New Member

    Joined:
    7 Aug 2010
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    Вычисление чисел фибоначчи на Си

    Задание в универе следующее:

    "1)Напишите на языке C два варианта программы генерирующей заданное число F(n) из
    последовательности Фибоначчи (F(n + 2) = F(n + 1) + F(n), n ≥ 0 , F(0) = 0, F(1) = 1):
    нерекурсивный и рекурсивный. Номер числа в последовательности n задается через аргумент
    командной строки.
    Добавьте в рекурсивную версию подсчет числа вызовов рекурсивной функции. Сколько раз
    вызывается функция при вычислении F(20)? Какой вариант эффективнее?
    Какое максимальное, по счету, число из последовательности может сгенерировать ваша
    программа?"

    2) Оцените сложность по времени и памяти рекурсивного варианта программы из задачи №1
    (как функцию n).

    3) Возьмите нерекурсивный вариант программы из задачи №1 за основу и напишите программу,
    которая печатает таблицу чисел Фибоначчи в заданном диапазоне следующего вида:
    +----+------------+
    | n | F(n) |
    +----+------------+
    | ... | ... |
    | xx | xxxxxxxx |
    | .. .| ... |
    +----+------------+

    Диапазон значений задается через аргументы командной строки.

    4) Нарисуйте UML диаграмму деятельности для программы из задачи №4."

    Нерекурсивно вроде так:
    Code:
    #include <stdio.h>
    
    
    int main ()
    {
    
      int n;
    
      printf("\nHow many numbers of the sequence would you like?\n");
    
      scanf("%d",&n);
    
      fibonacci(n);
    
      return 0;
    }
    
    
    int fibonacci(int n)
    {
      int a = 0;
      int b = 1;
      int sum;
      int i;
    
      for (i=0;i<n;i++)
      {
        printf("%d\n",a);
        sum = a + b;
        a = b;
        b = sum;
      }
      return 0;
    }
    ...на этом мысль останавливается... Кто-нибудь может помочь?
     
  20. error38

    error38 New Member

    Joined:
    29 Nov 2010
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Доброго времени суток :) Зарание извеняюсь, но уже два дня парюсь по давольнотаки простому вопросу, но некак не могу сообразить:
    дана задача, вывести массив из N чисел (10), заполняется рэндомом, после этого нужно вывести его чередуя чётные и не чётные числа с конца массива пока это возможно, подскажите алгоритм, буду очень благодарен (желательно массив должен использоваться один)
     
Thread Status:
Not open for further replies.