Enviado em 10/11/2018 - 21:43h
Ola galera, é a primeira vez que utilizo o Forum, então me desculpem qualquer desconforto por mim causado. É o seguinte não consigo comparar os vetores de registros diferentes e carregar em outro vetor para imprimir a diferença entre eles, se alguém puder me ajudar por favor.#include <iostream> using namespace std; typedef struct { char nome[100]; }lista1; typedef struct{ char nome2[100]; }lista2; int main(){ int total; cin>>total; lista1 v[total]; for(int i=0;i<total;i++){ cin.getline (v[i].nome,100); } int totalB; cin>>totalB; lista2 v1[totalB], v3[total]; for(int i=0;i<totalB;i++){ cin.getline(v1[i].nome2,100); } int p=0; for(int i=0;i<total;i++){ for(int j=0;j<totalB;j++){ if(strcmp(v[i].nome,v1[i].nome2)!=0)) v3[i].nome++; p++; } } for(int i=0;i<p;i++){ cout<<v3[i].nome<<endl; } return 0; }
Enviado em 10/11/2018 - 23:59h
Prezado,g++ -pedantic-errors -std=c++11 -Wall -Werror -O2 x.cc x.cc: In function ‘int main()’: x.cc:20:19: error: ISO C++ forbids variable length array ‘v’ [-Wvla] lista1 v[total]; ^ x.cc:28:21: error: ISO C++ forbids variable length array ‘v1’ [-Wvla] lista2 v1[totalB], v3[total]; ^ x.cc:28:32: error: ISO C++ forbids variable length array ‘v3’ [-Wvla] lista2 v1[totalB], v3[total]; ^ x.cc:35:15: error: ‘strcmp’ was not declared in this scope if(strcmp(v[i].nome,v1[i].nome2)!=0)) ^~~~~~ x.cc:35:15: note: suggested alternative: ‘strtoq’ if(strcmp(v[i].nome,v1[i].nome2)!=0)) ^~~~~~ strtoq x.cc:35:48: error: expected primary-expression before ‘)’ token if(strcmp(v[i].nome,v1[i].nome2)!=0)) ^ x.cc:41:17: error: ‘struct lista2’ has no member named ‘nome’; did you mean ‘nome2’? cout<<v3[i].nome<<endl; ^~~~ nome2
#include <iostream> #include <vector> #include <cstring> using namespace std; struct lista1 { char nome[100]; }; struct lista2 { char nome2[100]; }; // XXX: Essa estrutura é quase idêntica à primeira (muda o nome do campo, mas não seu tipo ou tamanho). // Você realmente precisa de outro tipo de dados? int main(){ int total; cin>>total; vector<lista1>v(total); for(int i=0;i<total;i++) cin.getline (v[i].nome,100); int totalB; cin>>totalB; vector<lista2> v1(totalB), v3(total); for(int i=0;i<totalB;i++) cin.getline(v1[i].nome2,100); int p=0; for(int i=0;i<total;i++) for(int j=0;j<totalB;j++){ if(strcmp(v[i].nome,v1[i].nome2)!=0) v3[i].nome2++; // <--- ERRO: não se pode incrementar um array. // O que você quis realmente fazer? p++; } for(int i=0;i<p;i++) cout<<v3[i].nome2<<endl; return 0; }
Enviado em 12/11/2018 - 00:37h
Vou colocar algo aqui só para o incentivo ao uso dos algoritmos da STL.#include <algorithm> #include <iostream> #include <iterator> #include <set> #include <string> int main() { using namespace std; set<string> A, B; int total_a, total_b; cout << "Digite o número e as strings do primeiro conjunto:\n"; cin >> total_a; copy_n(istream_iterator<string>(cin), total_a, inserter(A, end(A))); cout << "Digite o número e as strings do segundo conjunto:\n"; cin >> total_b; copy_n(istream_iterator<string>(cin), total_b, inserter(B, end(B))); cout << endl; cout << "Elementos presentes apenas em A (ausentes em B):\n"; set_difference(begin(A), end(A), begin(B), end(B), ostream_iterator<string>(cout, "\n")); cout << endl; cout << "Elementos presentes apenas em B (ausentes em A):\n"; set_difference(begin(B), end(B), begin(A), end(A), ostream_iterator<string>(cout, "\n")); cout << endl; cout << "Elementos presentes em ambos (A && B):\n"; set_intersection(begin(A), end(A), begin(B), end(B), ostream_iterator<string>(cout, "\n")); cout << endl; cout << "Elementos presentes apenas em A ou em B (porém não em ambos):\n"; set_symmetric_difference(begin(A), end(A), begin(B), end(B), ostream_iterator<string>(cout, "\n")); return 0; }
Criar entrada (menuentry) ISO no Grub
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalando o Pi-Hole versão v5.18.4 depois do lançamento da versão v6.0
Instalar o VIM 9.1 no Debian 12
Como saber o range de um IP público?
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Dock do debian está muito pequena (1)
Instalei Windows 11 e não alterou o Grub do Debian (0)
Linux Mint (21.2) não reconhece teclado mecanico RASEC da PCYES (2)