[ C / C++ ] — начинающим: задаем вопросы (архивная - 2015)

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

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

    Edward Banned

    Joined:
    11 Feb 2010
    Messages:
    329
    Likes Received:
    21
    Reputations:
    -1
    Если компилятор говорит, что
    Это значит, что такого файла у вас нету. Следовательно вы где то накосячили с файлами проекта.
     
  2. MaTpOc

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

    Joined:
    5 May 2008
    Messages:
    633
    Likes Received:
    475
    Reputations:
    25
    подскажите компилятор под вин севен х64
     
  3. Edward

    Edward Banned

    Joined:
    11 Feb 2010
    Messages:
    329
    Likes Received:
    21
    Reputations:
    -1
    MVC++
    Intel c++

    сaм их юзaю под 7 х64
     
  4. Shaba777

    Shaba777 New Member

    Joined:
    8 Sep 2010
    Messages:
    20
    Likes Received:
    0
    Reputations:
    0
    так.начнем с самого начала.скачал я с сайта майкрософт visual c++ 2010. скачал книгу.допустим нужно написать программу. что выбирать консольное приложение вин32, или пустой проэкт или что? как правильно компилить исполняемый файл? подскажите, если не трудно
     
  5. Edward

    Edward Banned

    Joined:
    11 Feb 2010
    Messages:
    329
    Likes Received:
    21
    Reputations:
    -1
    File -> New -> Project

    [​IMG]

    В следующем окне нажимайте next.

    Далее

    [​IMG]

    и Finish.

    Затем добавляйте необходимые файлы:

    [​IMG]

    [​IMG]

    Затем пишете код:

    Code:
    #include <iostream>
    
    int main( int argc, char *argv[] ) {
    	std::cout << "Antichat\n";
    	// code..code..code
    	return 0;
    }
    и компилируете

    [​IMG]
     
    #6025 Edward, 6 Jan 2011
    Last edited: 6 Jan 2011
  6. Shaba777

    Shaba777 New Member

    Joined:
    8 Sep 2010
    Messages:
    20
    Likes Received:
    0
    Reputations:
    0
    спасибо за столь подробное разъяснение в скринах!
    еще один вопрос. как сделать чтобы программа не закрывалась сразу же после выполнения всех действий?
     
  7. Edward

    Edward Banned

    Joined:
    11 Feb 2010
    Messages:
    329
    Likes Received:
    21
    Reputations:
    -1
    Перед
    напишите

    либо

     
  8. Gin

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

    Joined:
    11 Sep 2008
    Messages:
    133
    Likes Received:
    7
    Reputations:
    4
    Стоит задача сравнить два текстовых файла построчно, если строки совпадают, то произвести замену т.к. файлы большие, в лоб перебором очень долго. Подскажите алгоритмы или уже может готовые решения, для этого класса задач. Пишу на С++ под Win. Очень нужно.
     
  9. MaTpOc

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

    Joined:
    5 May 2008
    Messages:
    633
    Likes Received:
    475
    Reputations:
    25
    не помогло, пишет найдена ошика
     
  10. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    MaTpOc
    Код и текст ошибки в студию
     
  11. Edward

    Edward Banned

    Joined:
    11 Feb 2010
    Messages:
    329
    Likes Received:
    21
    Reputations:
    -1
    MaTpOc ,
    подозреваю, что вы пишене на С, а не на С++. Если так, тогда используйте getchar();

    Code:
    #include <stdio.h>
    
    int main( int argc, char *argv[] ) {
    	printf( "%s", "Antichat\n" );
    	// code..code..code
    	getchar();
    	return 0;
    }
    Или же вторая причина, по которой могла произойти ошибка -- вы скачали старый компилятор С++, а там еще не было именных просторанств и файлы стандартных библиотек имели расширение .h

    В этом случае решение такое:

    Code:
    #include <iostream.h>
    
    int main( int argc, char *argv[] ) {
    	cout << "Antichat\n";
    	// code..code..code
    	cin.ignore().get();
    	return 0;
    }
     
    #6031 Edward, 6 Jan 2011
    Last edited: 6 Jan 2011
  12. return

    return New Member

    Joined:
    23 Oct 2010
    Messages:
    125
    Likes Received:
    3
    Reputations:
    1
    Сейчас розбераюсь с стеком и списками. Сверх сложного ничего нету, но вот часто путаюсь с указателями и адресами. Комментировал строчки сам так как понимаю код. Прошу просмотреть и поправить меня, может я что то не так понял.
    Code:
    #include "iostream"
    struct List
    {
    	int d; //целое число
    	List *p; //указатель на вершину структуры
    };
    List *first(int d);
    void push(List **top, int d);
    int pop(List **top);
    //главная функция
    int main()
    {
    	List *top=first(1); //объявление структуры с именем указателя *top
    	for(int i=2;i<6;i++)
    		push(&top, i); //ложем в стек число i
    	while(top)
    		std::cout<<pop(&top)<<" "; //достаём из стека
    	return 0;
    }
    //начальное формирование стека
    List *first(int d)
    {
    	List *pv=new List; //создаём новую структуру
    	pv->d=d; //заносим число
    	pv->p=0; //указателю присваиваем 0
    	return pv; //возвращаем структуру
    }
    void push(List **top, int d)
    {
    	List *pv=new List; //создаём новую структуру
    	pv->d=d; //заносим число
    	pv->p=*top; //вершине присваиваем адрес новой структуры
    	*top=pv; //вершине присваиваем структуру
    }
    int pop(List **top)
    {
    	int buf=(*top)->d; //в буфер заносим последнее число
    	List *pv=*top; //указателю структуры присваиваем указатель на вершину
    	*top=(*top)->p; //незнаю
    	delete pv; //удаляем последнюю структуру
    	return buf; //возвращаем число
    }
     
  13. MaTpOc

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

    Joined:
    5 May 2008
    Messages:
    633
    Likes Received:
    475
    Reputations:
    25
    помогите плиз сделать задание
    [​IMG]

    и

    Дан массив А1,...,А40
    замените все элементы, стоящие между Аmax и Amin или Аmin и Аmax на 0
     
    #6033 MaTpOc, 7 Jan 2011
    Last edited: 7 Jan 2011
  14. Edward

    Edward Banned

    Joined:
    11 Feb 2010
    Messages:
    329
    Likes Received:
    21
    Reputations:
    -1

    Code:
    #include <iostream>
    
    int main( int argc, char *argv[] ) {
    	int arraySize = 0;
    	int aMin = 0;
    	int aMax = 0;
    
    	std::cout << "Enter array size: ";
    	std::cin >> arraySize;
    
    	int *arr = new int[ arraySize ];
    
    	for( int i = 0; i < arraySize; i++ ) {
    		std::cout << "arr[" << i << "] = ";
    		std::cin >> arr[ i ];
    	}
    
    	aMin = arr[ 0 ];
    	for( int i = 1; i < arraySize; i++ )
    		if( arr[ i ] < aMin )
    			aMin = arr[ i ];
    
    	aMax = arr[ arraySize - 1 ];
    	for( int i = 1; i < arraySize; i++ )
    		if( arr[ i ] > aMin )
    			aMax = arr[ i ];
    
    	for( int i = aMin; i < aMax - 1; i++ )
    		arr[ i ] = 0;
    
    	for( int i = 0; i < arraySize; i++ )
    		std::cout << arr[ i ] << std::endl;
    
    	delete [] arr;
    
    
    	return 0;
    }
    
     
    #6034 Edward, 7 Jan 2011
    Last edited: 8 Jan 2011
  15. MaTpOc

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

    Joined:
    5 May 2008
    Messages:
    633
    Likes Received:
    475
    Reputations:
    25
    сорри, у меня что-то не работает.

    компилятор VC++ 2010

    ошибка
    1>c:\users\anton\documents\visual studio 2010\projects\1\1\1.cpp(40): fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "StdAfx.h"" в источник.
     
  16. Edward

    Edward Banned

    Joined:
    11 Feb 2010
    Messages:
    329
    Likes Received:
    21
    Reputations:
    -1
    Создавайте пустой проект. Как это сделать я писал 1-2 страницы назад.
     
    1 person likes this.
  17. vandalism

    vandalism New Member

    Joined:
    26 Dec 2010
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    ребят помогите задачку решить

    пользователь вводит массив 5х5, программа подсчитывает количество нолей которые стоят рядом друг с другом т.е.
    1 1 0 0 0
    1 1 1 0 0
    0 0 0 1 1
    0 0 0 0 0 - (нижний островок - 8 нолей)

    язык C
     
  18. Edward

    Edward Banned

    Joined:
    11 Feb 2010
    Messages:
    329
    Likes Received:
    21
    Reputations:
    -1
    Code:
    #include <stdio.h>
    
    int main( int argc, char *argv[] ) {
    	const int rows = 5;
    	const int cols = 5;
    
    	int result = 0;
    
    	int arr[ rows ][ cols ];
    
    	for( int i = 0; i < cols; i++ )
    		for( int k = 0; k < rows; k++  )
    			scanf( "%d", &arr[ i ][ k ] );
    
    	for( int i = 0; i < cols; i++ )
    		for( int k = 0; k < rows; k++  )
    			if( arr[ i ][ k ] == 0 && ( ( arr[ i ][ k - 1 ] == 0 ) || ( arr[ i ][ k + 1 ] == 0 ) ||
    				( arr[ i + 1 ][ k ] == 0 ) || ( arr[ i -1 ][ k ] == 0 ) ) )
    				result++;
    
    	printf( "\nresult is: %d", result );
    
    	return 0;
    }
    
     
    #6038 Edward, 8 Jan 2011
    Last edited: 8 Jan 2011
  19. KI11obyte

    KI11obyte New Member

    Joined:
    8 Nov 2005
    Messages:
    29
    Likes Received:
    2
    Reputations:
    0
    Вы уверены что это будет правильно работать. Тут нужно сделать рекурсивный обход и пройденный элементы устанавливать в 1
     
  20. Edward

    Edward Banned

    Joined:
    11 Feb 2010
    Messages:
    329
    Likes Received:
    21
    Reputations:
    -1
    Уверен.


    Небольшая поправочка( проверка инексов на отрицательные значения ):
    Code:
    #include <stdio.h>
    
    int main( int argc, char *argv[] ) {
    	const int rows = 5;
    	const int cols = 5;
    
    	int result = 0;
    
    	int arr[ rows ][ cols ];
    
    	for( int i = 0; i < cols; i++ )
    		for( int k = 0; k < rows; k++  )
    			scanf( "%d", &arr[ i ][ k ] );
    
    	for( int i = 0; i < cols; i++ )
    		for( int k = 0; k < rows; k++  )
    			if( arr[ i ][ k ] == 0 && ( ( arr[ i ][ ( k < 0 ) ? k : k - 1 ] == 0 ) || ( arr[ i ][ k + 1 ] == 0 ) ||
    				( arr[ i + 1 ][ k ] == 0 ) || ( arr[ ( i < 0 ) ? i : i - 1 ][ k ] == 0 ) ) )
    				result++;
    
    	printf( "\nresult is: %d", result );
    
    	return 0;
    }
    
     
    #6040 Edward, 8 Jan 2011
    Last edited by a moderator: 17 Feb 2011
Thread Status:
Not open for further replies.