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

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

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

    Yetisports Banned

    Joined:
    11 Jul 2010
    Messages:
    147
    Likes Received:
    12
    Reputations:
    17
    Задание:разработать приложение средствами Delphi осуществляющее работу с базой данных (БД создаётся в формате MS access);
    1)открытие файла БД(open dialog)
    2)выбор таблицы из БД(combobox)
    3)отображать поля таблицы в режиме формы
    4)осуществлять поиск в данных по 2ум запросам

    Вся проблема у меня возникла во втором пункте, выбираю файл через opendialog(его название заносится в поле edit) и дальше нужно чтобы через combobox выбрать 1 из таблиц базы данных. Но я никак не могу связать открывающийся файл с combobox'ом.

    помогите пожалуйста с проблемной частью
     
  2. Chelovek900

    Chelovek900 New Member

    Joined:
    8 Jul 2010
    Messages:
    15
    Likes Received:
    0
    Reputations:
    0
    Прошу помощи.
    Нужна програмка или скрип на любом языке, который будет открывать текстовый файл и добавлять в начало каждой строчки "http:/" , а в конец "/".
    Сам я не прогер, поэтому сделать не могу.
    Заранее спасибо за помощь.
     
  3. Seravin

    Seravin Active Member

    Joined:
    25 Nov 2009
    Messages:
    475
    Likes Received:
    190
    Reputations:
    221
    как-то так вроде на пхп
    Code:
    $input = fopen("input.txt","r");
    $output = fopen("output.txt","w");
    while (!feof($input)) {
       $s = fgets($input);
       fputs($output,"http://".$s."/");
    }
    fclose($input);
    fclose($output);
    
     
  4. Chelovek900

    Chelovek900 New Member

    Joined:
    8 Jul 2010
    Messages:
    15
    Likes Received:
    0
    Reputations:
    0
    Спасибо, работает, но "/" переносится на следущую строку, вот так:
    Code:
    http://test1.com
    /http://test2.com
    /http://test3.com
    /http://test4.com/
    Как можно сделать, чтобы было вот так:
    Code:
    http://test1.com/
    http://test2.com/
    http://test3.com/
    http://test4.com/
     
  5. h(f)ucker

    h(f)ucker Member

    Joined:
    11 Jul 2009
    Messages:
    81
    Likes Received:
    84
    Reputations:
    32
    функция fgets получает всю строку с \n на конце, поэтому ее надо обрезать и добавить свой перевод.

    PHP:
    <?php 
          $input 
    fopen("input.txt","rt");
          
    $output fopen("output.txt","wt");
           while (!
    feof($input)) {
             
    $s fgets($input);
             
    $l Trim($s);
             
    fputs($output,"http://".$l."/"."\n\r");  //  \n в Linux

      
    fclose($input);
      
    fclose($output);
    ?>
     
  6. beshenuy

    beshenuy Member

    Joined:
    24 Oct 2009
    Messages:
    176
    Likes Received:
    7
    Reputations:
    2
    зделайте пожалосто три задачи
    1. Пользователь вводит с клавиатури число - програма должна показать сколько в даном числе цифр. Число вводится целиком в одну переменную.
    Примечания: например, пользователь ввел число 12345. На екране должно появитса сообщения о ом что в числе 5 цифр.


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


    3. Пользователь вводит число с клавиатури, необходимо показать на екран ссуму его цифр.
    примечание : Например, пользователь ввел число 12345. На екран должно появитса сообщения о том что сума цифр = 15. (1+2+3+4+5=15)

    Все ето на С++
     
  7. waik

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

    Joined:
    2 Nov 2008
    Messages:
    405
    Likes Received:
    163
    Reputations:
    12
    beshenuy могу все 3 но на другом ЯП.
     
  8. Linkus

    Linkus Member

    Joined:
    20 Dec 2008
    Messages:
    168
    Likes Received:
    15
    Reputations:
    -1
    4 beshenuy

    [​IMG]

    Накидал по-бырику в VS 2008)) все задания в одной проге. Думаю, разберёшься))

    Code:
    #include "stdio.h"
    
    
    void Zad1(int number)
    {
    	int i= 1;
    	int j= number;
    	while((j=j/10)>0) 
    		i++;
    
    	printf("Tsifr v 4isle: %i\r\n",i);
    }
    
    void Zad2_3(int number)
    {
    	int i= 0, s=0;
    	int j= number*10;
    	while(j=j/10)
    	{
    		i=j%10;
    		printf("%i",i);
    		s+=i;
    	}
    
    	printf("\r\nSumma: %i\r\n",s);
    }
    
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	int n= 0;
    	printf("Vvedi 4islo: ");
    	scanf("%d",&n);
    	Zad1(n);
    	Zad2_3(n);
    
    	return 0;
    }
    удачи :)
     
  9. RIO

    RIO New Member

    Joined:
    16 Sep 2008
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Linkus
    почему бы не использовать C++ ? :)

    Code:
    #include <locale.h>
    #include <iostream>
    
    
    int HowManyDigit(const int*);
    int ReverseDigit(const int*);
    int SumDigit(const int*);
    
    
    int main(void)
    {
    	using namespace std;
    	setlocale(LC_ALL,"");
    
    	wcout<<L"Введите натуральное число"<<endl;
    	int number=0;
    	cin>>number;
    	wcout<<L"Сумма цифр равна " << SumDigit(&number)<<endl;
    	wcout<<L"Колличество цифр в числе равно "<<HowManyDigit(&number)<<endl;
    	wcout<<L"Цифры наоборот "<<ReverseDigit(&number);
    
    	cin.ignore().get();
    
    	return EXIT_SUCCESS;
    }
    
    int SumDigit(const int* Digit)
    {
    	int sum=0;
    	int num = *Digit;
    	while ( num > 0 )
    	{
    		sum += num % 10;
    		num /= 10;
    	}
    	return sum;
    }
    
    int HowManyDigit(const int* Digit)
    {
    	int num = *Digit;
    	int count = 0;
    	while(num > 0)
    	{
    		num /= 10;
    		count++;
    	}
    	return count;
    }
    
    int ReverseDigit(const int* Digit)
    {
    	int revNum=0;
    	int x = *Digit;
    	int d;
    
    	while(x!=0)
    	{
    		d=x%10;
    		revNum=(revNum*10)+d;
    		x=x/10;
    	}
    	return revNum;
    }
    
    
    
     
  10. Linkus

    Linkus Member

    Joined:
    20 Dec 2008
    Messages:
    168
    Likes Received:
    15
    Reputations:
    -1
    а я на бейсике чтоль писал? :D
     
  11. beshenuy

    beshenuy Member

    Joined:
    24 Oct 2009
    Messages:
    176
    Likes Received:
    7
    Reputations:
    2
    Пользователь вводит целие числа. Как только пользователь ввел 0, необходимо показать на екран сумму всех введених чисел.
    код реализации.

    #include<iostream>
    using namespace std;
    void main()
    {
    int digit, sum=0;
    for(;; )
    {
    cout<<"Enter digit:";
    cin>>digit;
    if(digit==0)
    break;
    sum+=digit;
    }
    cout<<"Sum of digit"<<sum<<"\n\n";
    }

    ВОПРОС: а как зделать чтоб когда пользователь ввел число 666 после нажатия Ентер чтоб вибило что сума = 18???
     
  12. BrainDeaD

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

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    юзай функцию itoa, для конвертации int в array

    Code:
    int digit;
      char buffer [100];
      cout<<"Enter digit:";
      cin>>digit;
      itoa (i,buffer,10);
    потом в цикле с помощью функции atoi конвертируешь каждое число обратно в инт и суммируешь.
     
  13. Linkus

    Linkus Member

    Joined:
    20 Dec 2008
    Messages:
    168
    Likes Received:
    15
    Reputations:
    -1
    Code:
    #include "stdio.h"
    
    void main()
    {
    	int n= 0;
    	printf("Vvedi 4islo: ");
    	scanf("%d",&n);
    	
    	int  s=0;
    	do s+=n%10;
                  while(n=n/10);
    		
    
    	printf("\r\nSumma: %i\r\n",s);
    	return 0;
    }
    кстати в посте #2939 то же самое написано :rolleyes:
     
    #2873 Linkus, 16 Aug 2010
    Last edited: 16 Aug 2010
  14. Flashlight

    Flashlight Member

    Joined:
    26 Jun 2009
    Messages:
    0
    Likes Received:
    7
    Reputations:
    0
    Выполненине несложных задачек на C++

    Здравствуйте. Вобщем мне в универе дали задание написать 10 относительно несложных задачек на языке Си. Я с данным языком програмирования практически не знаком.. Поэтому решил обратится за помощью к Вам, Форумчанам.

    Собственно, вот они:

    Помогите, кто может:) Естественно за вознаграждение..

    Сразу хочу извинится что создал тему не там где нужно, если не сложно - перенесите в нужный раздел..

    Если что, моя icq: 308760451
     
    #2874 Flashlight, 19 Aug 2010
    Last edited: 19 Aug 2010
  15. Yetisports

    Yetisports Banned

    Joined:
    11 Jul 2010
    Messages:
    147
    Likes Received:
    12
    Reputations:
    17
    Задание А:
    Вычислить значение функции. Осушествить вывод значений вводимых исходных данных и результат вычисления значений функции, сопровождая вывод наименованиями переменных.

    Функция: f= lg(x+1) и sin^2SQR|ax| (тут система уравнений)
    Условие: x>1 ; x <=1
    Исходные даннные: a=20.3


    Задание Б:
    Диапазон и шаг изменения аргумента: x [0.5;2] , дельтаX=0.1

    Модифицыровать программу таким образом, чтобы вычислялось многократно значение функции при изменении агрумента в указаном диапазоне и с заданым шагом.
    Организовать вывод значения аргумента, и вычисленного значения функции в виде таблицы.
    Таблица функции Y(X):
    X Y
    .... ....
    .... ....

    P.S помогите
     
  16. blinker2009

    blinker2009 Member

    Joined:
    3 Apr 2009
    Messages:
    62
    Likes Received:
    5
    Reputations:
    0
    Остальное несложно понять вот что на подобии
    Code:
    uses crt;
    const h=0.05;
          a=20.3;
          b=10;
    var y,x:real;
    begin clrscr;
    x:=0;
    repeat
      x:=x+h;
      y:=ln(x+1);
      writeln('x=',x:1:2,' f(x)=',y:1:10);
    until x>=1;
    readkey;
    end.
    
     
  17. xartpant

    xartpant New Member

    Joined:
    23 Aug 2010
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    strandsort

    Напишите пожалуйста реализацию сортировки strandsort на Си. По возможности как можно проще и без использования векторов.
    Спасибо.
     
  18. becensed

    becensed Member

    Joined:
    2 Dec 2009
    Messages:
    84
    Likes Received:
    24
    Reputations:
    1
    Code:
     /// param nums - input - array of values to be sorted
     /// param size - input - number of elements in the array
     void counting_sort(int *nums, int size)
     {
            // search for the minimum and maximum values in the input
            int i, min = nums[0], max = min;
            for(i = 1; i < size; ++i)
            {
                    if (nums[i] < min)
                            min = nums[i];
                    else if (nums[i] > max)
                            max = nums[i];
            }
     
            // create a counting array, counts, with a member for 
            // each possible discrete value in the input.  
            // initialize all counts to 0.
            int distinct_element_count = max - min + 1;
            int* counts = new int[distinct_element_count];
            for(i=0; i<distinct_element_count; ++i)
                    counts[i] = 0;
     
            // accumulate the counts - the result is that counts will hold
            // the offset into the sorted array for the value associated with that index
            for(i=0; i<size; ++i)
                    ++counts[ nums[i] - min ];
     
            // store the elements in the array
            int j=0;
            for(i=min; i<=max; i++)
                    for(int z=0; z<counts[i-min]; z++)
                            nums[j++] = i;
     
            delete[] counts;
     }
     
  19. Hixon

    Hixon Member

    Joined:
    17 Apr 2010
    Messages:
    88
    Likes Received:
    9
    Reputations:
    0
    Мой первый опыт в си++
    Code:
    //---------------------------------------------------------------------------
    
    #pragma hdrstop
    #include <stdio.h>
    #include <math.h>
    #include <limits.h>
    #include <values.h>
    #include <conio.h>
    #include <iostream.h>
    #include <iostream>
    
    
    void main()
    {
    float x,y;
    
    std::cout<<"Vvedite ugol v gradusax ";
    std::cin>>x;
    y = (x*M_PI)/180;
    //std::cout<<" "<<y<<std::endl; //проверка работоспособности перевода в радианы
    std::cout<<"sin(x)= "<<sin(y)<<std::endl;
    std::cout<<"cos(x)= "<<cos(y)<<std::endl;
    //std::cout<<"tg(x)= "<<sin(y)/cos(y)<<std::endl;
    //std::cout<<"ctg(x)= "<<cos(y)/sin(y)<<std::endl;
    
    
    
    if ((cos(y) == abs(1)))
    {
    std::cout<<"ctg net"<<std::endl;
    }
    else
    {
    std::cout<<"ctg(x)= "<<cos(y)/sin(y)<<std::endl;
    }
    
    if ((sin(y) == abs(1)))
    {
    std::cout<<"tg net"<<std::endl;
    }
    else
    {
    std::cout<<"tg(x)= "<<sin(y)/cos(y)<<std::endl;
    }
    
    
    getch();
    }
    
    Пишем угол в градусах, идёт перевод в радианы, затем расчёт sin,cos. После идёт проверка, чтобы исключить ноль в знаменателе. Почему-то 2ой if вообще не работает, а в первом идёт неправильная работа: при 0 градусах всё нормально, а при 180 - нет. Подскажите, пож-та, в чём я ошибаюсь?


    ----------------------
    upd.
    Проблему решил сам:
    Code:
    //---------------------------------------------------------------------------
    #include <cmath>
    #include <iostream>
    #pragma hdrstop
    #include <stdio.h>
    #include <math.h>
    #include <limits.h>
    #include <values.h>
    #include <conio.h>
    #include <iostream.h>
    
    
    
    int main()
    {
    float x,y;
    
    std::cout<<"Vvedite ugol v gradusax ";
    std::cin>>x;
    y = (x*M_PI)/180;
    //std::cout<<" "<<y<<std::endl; //проверка работоспособности перевода в радианы
    std::cout<<"sin(x)= "<<sin(y)<<std::endl;
    std::cout<<"cos(x)= "<<cos(y)<<std::endl;
    //std::cout<<"tg(x)= "<<sin(y)/cos(y)<<std::endl;
    //std::cout<<"ctg(x)= "<<cos(y)/sin(y)<<std::endl;
    
    
    
    if(fabs(sin(y)) < 0.001)
    {
    std::cout<<"ctg net"<<std::endl;
    }
    else
    {
    std::cout<<"ctg(x)= "<<cos(y)/sin(y)<<std::endl;
    }
    
    if (fabs(cos(y)) < 0.001)
    {
    std::cout<<"tg net"<<std::endl;
    }
    else
    {
    std::cout<<"tg(x)= "<<sin(y)/cos(y)<<std::endl;
    }
    
    getch();
    }
    
    
     
    #2879 Hixon, 9 Sep 2010
    Last edited: 11 Sep 2010
  20. A1exx

    A1exx New Member

    Joined:
    8 Feb 2009
    Messages:
    24
    Likes Received:
    4
    Reputations:
    0
    Здравствуйте,ачатовцы!Извините за глупую просьбу,но в Паскале я Дрищь высшей категории....Помогите с программой...буду оч благодарен...Вот текст задания: На узловой станции необходимо менять направления
    движения всех поездов. Для этого предназначен специальный
    тупик. Зашедший в тупик последний поезд выходит из него
    первым. Известны моменты прихода поездов и минимально
    необходимое время стоянки (одинаковое для всех поездов).
    Требуется составить расписание стоянки поездов на станции с
    учетом смены направления движения.
    Необходимо вводить номер или название поезда и время его прибытия+константа...то есть минимальное время стоянки и чтоб выводилось список поездов и их время прибытия и возможное время отправления......Спасибо заранее кто поможет...
     
Thread Status:
Not open for further replies.